1. 程式人生 > >MySQL中的IFNULL,IF,NULLIF函式

MySQL中的IFNULL,IF,NULLIF函式

 

 

MySQL中的IFNULL函式和IF函式

    MySQL中的IFNULL函式類似於Oracle中的NVL函式,其表示式為:IFNULL(expr1,expr2),含義是:如果第一個引數不為空,則返回第一個引數,否則返回第二個引數。

       IF(expr1,expr2,expr3)類似於Oracle中的NVL2函式,含義是:如果第一個表示式的值為TRUE(不為0或null),則返回第二個引數的值,否則返回第三個引數的值。

SELECT IFNULL(NULL,"11"); -> 11

SELECT IFNULL("00","11"); -> 00

 

nullif如果第一個引數等於第二個引數,則 nullif 函式返回 null,否則返回第一個引數。

NULIF(1,1)返回NULL,因為1等於1。

NULLIF(1,2)返回1,這是第一個引數,因為1不等於2。
NULLIF('MySQL NULLIF','MySQL NULLIF')返回NULL,因為兩個引數是相同的字串。
NULLIF('MySQL NULLIF','MySQL NULLIF')返回MySQL NULLIF,因為兩個字串不相等。
NULLIF(1,NULL)返回1,因為1不等於NULL。
NULLIF(NULL,1)返回第一個引數,即NULL,因為NULL不等於1。