當前位置:首頁 » 編程語言 » 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

熱點內容
電腦一般怎麼連接伺服器 發布:2025-02-07 17:12:55 瀏覽:488
ftp用ie打開文件 發布:2025-02-07 17:07:42 瀏覽:267
android列表顯示 發布:2025-02-07 17:01:19 瀏覽:63
芒果tv緩存的視頻在哪個文件里 發布:2025-02-07 16:45:05 瀏覽:814
php郵件群發 發布:2025-02-07 16:45:05 瀏覽:612
mysql資料庫基本語句 發布:2025-02-07 16:41:48 瀏覽:250
醫院門禁密碼多少 發布:2025-02-07 16:41:43 瀏覽:527
伺服器遭美國ip攻擊簽名 發布:2025-02-07 16:22:48 瀏覽:546
如何配置二良腌料 發布:2025-02-07 16:11:54 瀏覽:735
資料庫課程設計學生管理系統 發布:2025-02-07 16:11:50 瀏覽:764