[DB] COALESCE

這個語法算是Case when加強版,會根據裡面給的所有參數去判斷是否為null,如果是null就檢查下一個,直到最後一個為止,如果不是null就會傳該欄位的值。

select 
COALESCE(
    case when IDNO = '' then null else IDNO end, 
    case when GRNUM = '' then null else GRNUM end, 
    PASSNUM
) AS IDNO
from EMPPEO

以這個例子來說,會先檢查IDNO,在檢查GRNUM,若都是NULL則顯示PASSNUM,但如果不是NULL就會回傳該欄位的值。

留言