T SQL中Case的用法

2021-08-19 09:36:34 字數 769 閱讀 7297

case語句是條件判斷語句的一種,可以完成比if語句更強的判斷,可以解決if語句中巢狀過多的問題。

語法:case when 條件a then 結果a  when 條件b 結果b  ........ else 結果n  end  

和decode 不同的是,decode 只能針對固定的值,而 case 可以用不是固定值,需是乙個條件

下面是應用中的例項:

declare

@number

// 判斷需要的列名

declare

@result  //輸出的結果

select

@number

= 學號  

from

學生表  //從表中查詢資料

where

學生姓名= 1  

set@result = 

case

@number

//判斷

when

'1'then

'張三'

//條件1和輸出

when

'2'then

'李四'

//條件2和輸出

when

'3'then

'王五'

//條件3和輸出

else

'不存在'

end特別注意:都不滿足條件,返回的是null

大概就是這個樣子,當需要判斷條件和輸出結果多的話,建議使用

sql中case的用法

由於之前沒有用到case,乙個簡單的分類統計問題竟被我group by 又union的整得很麻煩,原來case是可以應用得很靈活的。乙個應用場景如下 乙個表中儲存了使用者 姓名,年齡,性別 要求統計 35歲和 35歲的女使用者和南使用者分別是多少 一共四類 開始我是想著先把 35歲的按性別group...

bash中case的用法

看到一些很實用的指令碼,由於之前對於bash指令碼的積累都比較離散,沒有乙個全面的了解,在這裡記錄一下 bash的case語句用法 case語句的語法規則是 case 變數名 in 模式1 命令序列1 模式2 命令序列2 預設執行的命令序列 esac 注意的是,case比較的是pattern,然後既...

T SQL中的APPLY用法

上週和team leader 討論問題的時候,sql 指令碼準備 if object id dbo.product is notnull drop table dbo.product ifobject id dbo.searchstring is notnull drop table dbo.sea...