1. 程式人生 > 實用技巧 >MySql 裡的ifnull、nullif、isnull和if用法

MySql 裡的ifnull、nullif、isnull和if用法

isnull(expr) 的用法:

如expr 為null,那麼isnull() 的返回值為 1,否則返回值為 0。

例項:

select ISNULL(NULL)
輸出結果:1
select ISNULL(100)
輸出結果:0

IFNULL(expr1,expr2)的用法:

假如expr1不為NULL,則IFNULL() 的返回值為expr1;否則其返回值為 expr2IFNULL()的返回值是數字或是字串,具體情況取決於其所使用的語境。

例項:

select IFNULL(200,100)

輸出結果:

200
select IFNULL(NULL,100)

輸出結果:

100

NULLIF(expr1,expr2)的用法:

如果expr1 = expr2成立,那麼返回值為NULL,否則返回值為expr1。這和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。

例項:

select NULLIF(1,1)

輸出結果:

NULL
select NULLIF(2,1)
輸出結果:2

IF(expr1,expr2,expr3)的用法:

如果 expr1 是TRUE (expr1 <>(不等於) 0 and expr1 <> NULL),則 IF()的返回值為expr2; 否則返回值則為 expr3。IF() 的返回值為數字值或字串值,具體情況視其所在語境而定。

select *,if(sva=1,"男","女") as ssva from taname where sva != ""

輸出結果:

如果sva是1,輸出“男”,如果不是1,輸出“女”。