當前位置:首頁 » 編程語言 » sql語句中case

sql語句中case

發布時間: 2023-07-27 01:29:30

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

(1)sql語句中case擴展閱讀:

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,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部分將會被自動忽略。

(2)sql語句中case擴展閱讀:

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

㈢ SQL語句中Case 的用法

Select Case 語句在有多個可能的條件必須被檢查時使用。與 If 語句不同,Select Case語句在找到匹配的Case 表達式並執行了Case 表達式和下一個Case 表達式之間的語句後將立即跳出。如果沒有匹配的Case 表達式,將執行其它語句。

Case Else 與lse 的意義相同。

Case 語句能接受各種類型的(作為判斷條件的)表達式。表達式可以是單一值、由逗號分隔的一組值、能返回值的函數、用"To"關鍵字指定的值的范圍或者使用"Is"關鍵字對等式或不等式進行測試。您可以連接不同類型的不同表達式,只要將它們用逗號分開即可。

㈣ SQL的SELECT語句,裡面可以嵌套CASE么

可以的,而且使用頻率還比較高。
例:欄位:性別 以1和2,分別代表男和女
xb
1
2
1
那麼檢索的時候可以寫:
select case when xb = '1' then『男』when '2' then '女' else '' end

㈤ SQL語句case怎麼判斷這個欄位為空

SQL數據存儲中,所謂的空,有兩種形式,具體如下:


1、NULL:這是真正意義上的空,假如欄位名為col1,判斷方法為:

CASETHENcol1ISNULLWHEN'為空'ELSE'不為空'END

2、空白:這種是表示空白字元串,假如欄位名為col1,判斷方法為:

CASETHENcol1=''WHEN'為空'ELSE'不為空'END

㈥ SQL語句case怎麼判斷這個欄位為空

SQL數據存儲中,所謂的空,有兩種形式,具體如下:
1、NULL:這是真正意義上的空,假如欄位名為col1,判斷方法為:
CASE THEN col1 IS NULL WHEN '為空' ELSE '不為空' END2、空白:這種是表示空白字元串,假如欄位名為col1,判斷方法為:
CASE THEN col1 = '' WHEN '為空' ELSE '不為空' END

熱點內容
安卓手機a16數據在哪個文件夾 發布:2025-04-05 18:01:44 瀏覽:484
netty實現ftp 發布:2025-04-05 17:35:54 瀏覽:92
列印菱形java 發布:2025-04-05 17:35:53 瀏覽:912
等響演算法 發布:2025-04-05 17:24:17 瀏覽:998
演算法精編 發布:2025-04-05 17:17:03 瀏覽:355
虐殺原形2和熱血無賴哪個配置高 發布:2025-04-05 17:09:23 瀏覽:610
計算機常用演算法 發布:2025-04-05 17:07:54 瀏覽:65
天選2密碼在哪裡設置 發布:2025-04-05 16:36:28 瀏覽:87
目前什麼安卓手機續航能力最強 發布:2025-04-05 16:31:22 瀏覽:598
夢幻壓縮打造什麼意思 發布:2025-04-05 16:28:55 瀏覽:235