sql和null有關的函數

在寫sql的時候,經常會遇到和null相關的問題,經常用到慮空函數。常見的有NVL,NULLIF,COALESCE函數,其他還有很多在此不介紹了。

  • 1.NVL----- NVL lets you replace null (returned as a blank) with a string in the results of a query. If expr1 is null, then NVL returns expr2. If expr1 is not null, then NVLreturns expr1.

Description of nvl.gif follows

  •  2.NULLIF------NULLIF compares expr1 and expr2. If they are equal, then the function returns null. If they are not equal, then the function returns expr1. You cannot specify the literal NULL for expr1.
  • 類似於:CASE WHEN expr1 = expr 2 THEN NULL ELSE expr1 END

Description of nullif.gif follows

  • 3.COALESCE-----COALESCE  returns the first non-null expr in the expression list. At least one expr must not be the literal NULL. If all occurrences of expr evaluate to null, then the function returns null.  
  • 類似於:CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END
  • COALESCE (expr1, expr2, ..., exprn), for n>=3  類似於:CASE WHEN expr1 IS NOT NULL THEN expr1  ELSE COALESCE (expr2, ..., exprn) END

Description of coalesce.gif follows

總結一下:

nvl,表達式1 爲空,就返回表達式2。

nullif,表達式 1和表達式2如果相等,返回null,不相等返回表達式1.

coalesce,返回表達式不爲空項結束。例子:coalesce(手機號,電話,郵箱) as '聯繫方式'

搬運工來自:SQL Functions

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章