SQL case when 的幾種用法

2021-09-25 21:27:30 字數 1160 閱讀 4923

sql case when 的幾種用法

第一種:case用於實現簡單的"等於"判斷。

比如資料庫裡的某個字段(voucherclass)記錄著不同的單據型別,比如資料庫裡顯示1、2、3;1代表的是進貨單;2代表的是退貨單;3代表的是出庫單;如果要做成報表展示出來,應該是不會將1、2、3展示出來,這時在查詢語句裡就可以使用case函式啦。

case 欄位名

when 『字段值』 then 『需要返回的值』

when 『字段值』 then 『需要返回的值』

else 『剩餘所有的需要返回的值』

endselect

(case tv.voucherclass

when 『1』 then 『進貨單』

when 『2』 then 『退貨單』

else 『出庫單』

第二種:case還可用於"有條件"的邏輯判斷。

比如當單據為出庫單時,那麼數量要顯示為負數,其餘單據的數量都顯示為正數。

case

when 欄位名 = 『字段值』 then 『需要返回的值』

else 『剩餘所有的需要返回的值』

注意:兩種用法最後else 可以寫,可以不寫,但都需要『end』 結尾

第三種 判斷欄位為null的方法

select case when anditcount is null

then 0 else anditcount end

SQL Case when 的使用方法

摘自 case具有兩種格式。簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 這兩種方式,可以實現...

SQL Case when 的使用方法

case具有兩種格式。簡單case函式和case搜尋函式。簡單case函式 case when 1 then 男 when 2 then 女 else 其他 end case搜尋函式 case when 1 then 男 when 2 then 女 else 其他 end 這兩種方式,可以實現相同的...

SQL Case when 的使用方法

merge關鍵字是乙個神奇的dml關鍵字。它在sql server 2008被引入,它能將insert,update,delete簡單的並為一句。msdn對於merge的解釋非常的短小精悍 根據與源表聯接的結果,對目標表執行插入 更新或刪除操作。例如,根據在另乙個表中找到的差異在乙個表中插入 更新或...