當前位置:首頁 » 編程語言 » sql語句的casewhen

sql語句的casewhen

發布時間: 2024-06-27 18:25:22

1. sql 的case when 語句

把括弧去掉就好了。

下面是case的兩種用法,可以看下 :

1. 使用帶有 CASE 簡單表達式的 SELECT 語句。

在 SELECT 語句中,CASE 簡單表達式只能用於等同性檢查,而不進行其他比較。下面的示例使用 CASE 表達式更改產品系列類別的顯示,以使這些類別更易於理解。

USE AdventureWorks2008R2;

GO

SELECT ProctNumber, Category =

CASE ProctLine

WHEN 'R' THEN 'Road'

WHEN 'M' THEN 'Mountain'

WHEN 'T' THEN 'Touring'

WHEN 'S' THEN 'Other sale items'

ELSE 'Not for sale'

END,

Name

FROM Proction.Proct

ORDER BY ProctNumber;

GO

2. 使用帶有 CASE 搜索表達式的 SELECT 語句

在 SELECT 語句中,CASE 搜索表達式允許根據比較值替換結果集中的值。下面的示例根據產品的價格範圍將標價顯示為文本注釋。

USE AdventureWorks2008R2;

GO

SELECT ProctNumber, Name, 'Price Range' =

CASE

WHEN ListPrice = 0 THEN 'Mfg item - not for resale'

WHEN ListPrice < 50 THEN 'Under $50'

WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'

WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'

ELSE 'Over $1000'

END

FROM Proction.Proct

ORDER BY ProctNumber ;

GO

2. 關於使用sql語句sum(case when)來實現分類匯總功能

有兩處有筆誤,如果結果不同的話,需要檢查一下,先對比下總金額,再對比各個的銷售額,再檢查姓名是否完全一致,EXCEL中經常有前後空格或是不容易顯示出來彎旅含的字元會有影響,用select 月份,姓名,sum(銷售數量*產品單價) from 表格 group by 月份,姓名

例如:

select

月份,

sum(casewhen銷售人員='姓名1'then銷售數量*產品單價else0end)as姓名1銷售額,

sum(casewhen銷售人員='姓名2'then鎮瞎銷售數量*產品單價else0end)as姓名1銷售額,

sum(casewhen銷售人員='姓名3'then銷售數量*產品單價else0end)as姓名1銷售額

from埋笑表格

groupby月份,銷售人員

(2)sql語句的casewhen擴展閱讀:

注意事項

case when有用兩種用法如下:

用法一:

CASE case_value

WHEN when_value THEN statement_list

[WHEN when_value THEN statement_list] ...

[ELSE statement_list]

END CASE

用法二:

CASE

WHEN search_condition THEN statement_list

[WHEN search_condition THEN statement_list] ...

[ELSE statement_list]

END CASE

3. SQL中case,when,then,else的用法是什麼

用法:

1、第一種寫法:

復制代碼

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE

WHEN s.s_sex = '1' THEN '男'

WHEN s.s_sex = '2' THEN '女'

ELSE '其他'

END as sex,

s.s_age,

s.class_id

FROM

t_b_student s

WHERE

1 = 1

2、第二種寫法

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE s.s_sex

WHEN '1' THEN '男'

WHEN '2' THEN '女'

ELSE '其他'

END as sex,

s.s_age,

s.class_id

FROM

t_b_student s

WHERE

1 = 1

兩個運行結果一樣:

有一個需要注意的問題,Case函數只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。

(3)sql語句的casewhen擴展閱讀:

Case具有兩種格式:簡單Case函數和Case搜索函數。

簡單Case函數:

CASE sex

WHEN『1』THEN『男』

WHEN『0』THEN『女』

ELSE『其他』END

Case搜索函數:

CASE WHEN sex=『1』THEN『男』

WHEN sex=『0』THEN『女』

ELSE『其他』END

顯然,簡單Case函數生在簡潔,但是它只適用於這種單欄位的單值比較,而Case搜索函數的優點在於適用於所有比較的情況。

還有一個需要注意的問題,Case函數在滿足了某個符合條件後,剩下的條件將會被自動忽略,因此,即使滿足多個條件,執行過程中也只認第一個條件。

在使用CASE WHEN時,可以把它當作一個沒有欄位名的欄位,欄位值根據條件確認,在需要使用欄位名時可以是用as來定義別名。

4. SQL語句中case,when,then的用法

用法如下:

復制代碼

SELECT

s.s_id,

s.s_name,

s.s_sex,

CASE

WHENs.s_sex='1'THEN'男'

WHENs.s_sex='2'THEN'女'

ELSE'其他'

ENDassex,

s.s_age,

s.class_id

FROM

t_b_students

WHERE

1=1

這兩個結果是一樣的:

需要注意的一點是,Case函數只返回第一個限定值,其餘的Case將被自動忽略。

(4)sql語句的casewhen擴展閱讀:

Case有兩種格式:簡單函數和Case搜索函數。

簡單的例子功能:

CASEsex

WHEN『1』THEN『男』

WHEN『0』THEN『女』

ELSE『其他』END

Case搜索函數:

CASEWHENsex=『1』THEN『男』

WHENsex=『0』THEN『女』

ELSE『其他』END

顯然簡單的Case函數天生簡潔,但它們只適用於這種單欄位單值比較,而Case搜索函數具有適用於所有比較用例的優勢。

另一個需要注意的問題是,在Case函數滿足了某個條件之後,其餘的條件將被自動忽略,這樣即使滿足了多個條件,在執行過程中也只能識別第一個條件。

當使用CASEWHEN時,您可以將其視為沒有欄位名的欄位,欄位值是有條件的,並且在需要使用欄位名時可以使用as來定義別名。

5. SQL中CASE WHEN THEN的用法

selectcasewhenage<30thenN'青年'whenagebetween30and49thenN'中年'elseN'老年'endas[年齡段],count(name)as[數目]fromtable
groupbycasewhenage<30thenN'青年'whenagebetween30and49thenN'中年'elseN'老年'end

6. sql case when 怎麼用

Case具有兩種格式。簡單Case函數和Case搜索函數。


–簡單Case函數:

CASE sex。

WHEN 』1′ THEN 』男』。

WHEN 』2′ THEN 』女』。

ELSE 』其他』 END。

–Case搜索函數:

CASE WHEN sex = 』1′ THEN 』男』。

WHEN sex = 』2′ THEN 『女』。

ELSE 『其他』 END。

這兩種方式,可以實現相同的功能。簡單Case函數的寫法相對比較簡潔,但是和Case搜索函數相比,功能方面會有些限制,比如寫判斷式。還有一個需要注意的問題,Case函數只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。

–比如說,下面這段SQL,將永遠無法得到「第二類」這個結果。

CASE WHEN col_1 IN (『a』, 『b』) THEN 』第一類』。

WHEN col_1 IN (『a』) THEN 』第二類』。

ELSE』其他』 END。

7. PLSQL中,select case..when.. then..什麼意思怎麼用

case when ... then .. when .. then ... end

這種表達式,是sql的不同條件分支結果。

舉例如下,

1、創建數據表,create table test_student(stu_id number, class_id number);

熱點內容
如何打開雲伺服器的窗口 發布:2024-11-26 16:42:37 瀏覽:843
怎麼自學編程入門 發布:2024-11-26 16:40:58 瀏覽:759
夢幻西遊網頁版腳本輔助神器 發布:2024-11-26 16:39:18 瀏覽:66
登陸社保賬號密碼是什麼 發布:2024-11-26 16:23:03 瀏覽:896
優盾加密軟體 發布:2024-11-26 16:15:52 瀏覽:655
熱血傳奇手游免費輔助腳本 發布:2024-11-26 15:59:03 瀏覽:220
安卓王者榮耀怎麼設置回復血量 發布:2024-11-26 15:58:58 瀏覽:533
汽車空調壓縮機軸承 發布:2024-11-26 15:58:56 瀏覽:960
c語言中53 發布:2024-11-26 15:56:36 瀏覽:281
ftp上傳瀏覽器 發布:2024-11-26 15:39:56 瀏覽:788