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的解釋非常的短小精悍 根據與源表聯接的結果,對目標表執行插入 更新或刪除操作。例如,根據在另乙個表中找到的差異在乙個表中插入 更新或...