日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql 语言中 when case 用法

發布時間:2023/12/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql 语言中 when case 用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

sql語言中有沒有相似C語言中的switch case的語句??

? 沒有,用case ? when ? 來取代就行了.???
???????
? 比如,以下的語句顯示中文年月 ??
? ??
? select ? getdate() ? as ? 日期,case ? month(getdate()) ??
? when ? 11 ? then ? '十一' ??
? when ? 12 ? then ? '十二' ??
? else ? substring('一二三四五六七八九十', ? month(getdate()),1) ??
? end+'月' ? as ? 月份

=================================================

CASE?可能是 SQL 中被誤用最多的關鍵字之中的一個。雖然你可能曾經用過這個關鍵字來創建字段,可是它還具有許多其他使用解決方案。比如,你能夠在WHERE?子句中使用?CASE。?
?
首先讓我們看一下?CASE?的語法。在一般的?SELECT?中,其語法如下:?
?
SELECT?<myColumnSpec>?=?
CASE?
WHEN?<A>?THEN?<somethingA>?
WHEN?<B>?THEN?<somethingB>?
ELSE?<somethingE>?
END?
?
在上面的代碼中需要用詳細的參數取代尖括號里的內容。以下是一個簡單的樣例:?
?
USE?pubs?
GO?
SELECT?
???? Title,?
????'Price Range'?=?
????CASE?
????????WHEN?price?IS?NULL?THEN?'Unpriced'?
????????WHEN?price?<?10?THEN?'Bargain'?
????????WHEN?price?BETWEEN?10?and?20?THEN?'Average'?
????????ELSE?'Gift to impress relatives'?
????END?
FROM?titles?
ORDER?BY?price?
GO?
?
這是?CASE?的典型使用解決方案,可是使用?CASE?事實上能夠做許多其他的事情。比如說以下的?GROUP?BY?子句中的?CASE:?
?
SELECT?'Number of Titles',?Count(*)?
FROM?titles?
GROUP?BY?
????CASE?
????????WHEN?price?IS?NULL?THEN?'Unpriced'?
????????WHEN?price?<?10?THEN?'Bargain'?
????????WHEN?price?BETWEEN?10?and?20?THEN?'Average'?
????????ELSE?'Gift to impress relatives'?
????END?
GO?
?
你甚至還能夠組合這些選項,增加一個?ORDER?BY?子句,如下所看到的:?
?
USE?pubs?
GO?
SELECT?
????CASE?
????????WHEN?price?IS?NULL?THEN?'Unpriced'?
????????WHEN?price?<?10?THEN?'Bargain'?
????????WHEN?price?BETWEEN?10?and?20?THEN?'Average'?
????????ELSE?'Gift to impress relatives'?
????END?AS?Range,?
???? Title?
FROM?titles?
GROUP?BY?
????CASE?
????????WHEN?price?IS?NULL?THEN?'Unpriced'?
????????WHEN?price?<?10?THEN?'Bargain'?
????????WHEN?price?BETWEEN?10?and?20?THEN?'Average'?
????????ELSE?'Gift to impress relatives'?
????END,?
???? Title?
ORDER?BY?
????CASE?
????????WHEN?price?IS?NULL?THEN?'Unpriced'?
????????WHEN?price?<?10?THEN?'Bargain'?
????????WHEN?price?BETWEEN?10?and?20?THEN?'Average'?
????????ELSE?'Gift to impress relatives'?
????END,?
???? Title?
GO?
?
注意,為了在?GROUP?BY?塊中使用?CASE,查詢語句需要在?GROUP?BY?塊中重復?SELECT?塊中的?CASE?塊。?
?
除了選擇自己定義字段之外,在許多情況下?CASE?都很實用。再深入一步,你還能夠得到你曾經認為不可能得到的分組排序結果集。

總結

以上是生活随笔為你收集整理的sql 语言中 when case 用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。