當前位置:首頁 » 編程語言 » sql的whencase
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql的whencase

發布時間: 2023-08-15 14:55:47

sql case when 語句

求總發卡數和總制卡數和發卡正式卡數、發卡臨時卡數、發卡正式卡數,制卡臨時卡數、制卡正式卡數(如Excel中所示)求詳細SQL語句。

--創建測試表
IFEXISTS(SELECT*FROMsys.objectsWHEREobject_id=OBJECT_ID(N'[dbo].[TB]')ANDtypein(N'U'))
DROPTABLE[dbo].[TB1]
GO
CREATETABLE[dbo].[TB1](
[卡狀態][nvarchar](20)NULL,
[卡類型][nvarchar](50)NULL,
)ON[PRIMARY]
GO

--插入測試數據
INSERTINTO[TB1]([卡狀態],[卡類型])
SELECTN'發卡',N'正式卡'UNIONALL
SELECTN'發卡',N'正式卡'UNIONALL
SELECTN'發卡',N'臨式卡'UNIONALL
SELECTN'制卡',N'臨式卡'UNIONALL
SELECTN'制卡',N'正式卡'
GO

--靜態拼接行轉列(糾正簡化一下)
SELECT卡狀態+'數'AS卡狀態,
COUNT(1)AS總數,
SUM(CASEWHEN卡類型='正式卡'THEN1
ELSE0
END)AS正式卡,
SUM(CASEWHEN卡類型='臨式卡'THEN1
ELSE0
END)AS臨式卡
FROMTB1
GROUPBY卡狀態
GO

--輸出結果:

② 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

③ SQL中case when的用法

CASE
WHEN要麼是查詢條件要麼是查詢結構,表名逗號後面沒用,語法不對

④ sql case when 可以嵌套多少個

可以嵌套很多個when ....then.. 最後加上end。解決方法如下:

1、首先新建查詢或者直接打開之前保存的查詢。

⑤ 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將被自動忽略。

(5)sql的whencase擴展閱讀:

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來定義別名。

⑥ sql語句case when什麼意思

case when 就是case when
判斷 case when 當滿足條件 then 。。。
when ...... then
...
可以寫很多種情況,直到結束

⑦ 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。