MySQL 的IFNULL()、ISNULL()和NULLIF()函式
一、IFNULL用法
1.1 IFNULL(expr1,expr2)用法
假如expr1不為NULL,則 IFNULL() 的返回值為expr1; 否則其返回值為 expr2。IFNULL()的返回值是數字或是字串,具體情況取決於其所使用的語境。
mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT IFNULL(1/0,'yes');
-> 'yes'
IFNULL(expr1,expr2)的預設結果值為兩個表示式中更加“通用”的一個,順序為STRING、REAL或 INTEGER。
1.2 isnull(expr) 的用法:
如expr 為null,那麼isnull() 的返回值為 1,否則返回值為 0。
mysql> select isnull(1+1);
-> 0
mysql> select isnull(1/0);
-> 1
使用= 的null 值對比通常是錯誤的。
isnull() 函式同 is null比較運算子具有一些相同的特性。請參見有關is null 的說明。
二、ISNULL(expr) 的用法
如expr 為null,那麼isnull() 的返回值為 1,否則返回值為 0。
mysql> select isnull(1+1);
-> 0
mysql> select isnull(1/0);
-> 1
使用= 的null 值對比通常是錯誤的。
三、NULLIF(expr1,expr2)用法
如果expr1 = expr2 成立,那麼返回值為NULL,否則返回值為expr1。這和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。
mysql> SELECT NULLIF(1,1);
-> NULL
mysql> SELECT NULLIF(1,2);
-> 1
如果引數不相等,則 MySQL 兩次求得的值為 expr1。
1.1 IFNULL(expr1,expr2)用法
假如expr1不為NULL,則 IFNULL() 的返回值為expr1; 否則其返回值為 expr2。IFNULL()的返回值是數字或是字串,具體情況取決於其所使用的語境。
mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT IFNULL(1/0,'yes');
-> 'yes'
IFNULL(expr1,expr2)的預設結果值為兩個表示式中更加“通用”的一個,順序為STRING、REAL或 INTEGER。
1.2 isnull(expr) 的用法:
如expr 為null,那麼isnull() 的返回值為 1,否則返回值為 0。
mysql> select isnull(1+1);
-> 0
mysql> select isnull(1/0);
-> 1
使用= 的null 值對比通常是錯誤的。
isnull() 函式同 is null比較運算子具有一些相同的特性。請參見有關is null 的說明。
二、ISNULL(expr) 的用法
如expr 為null,那麼isnull() 的返回值為 1,否則返回值為 0。
mysql> select isnull(1+1);
-> 0
mysql> select isnull(1/0);
-> 1
使用= 的null 值對比通常是錯誤的。
三、NULLIF(expr1,expr2)用法
如果expr1 = expr2 成立,那麼返回值為NULL,否則返回值為expr1。這和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。
mysql> SELECT NULLIF(1,1);
-> NULL
mysql> SELECT NULLIF(1,2);
-> 1
如果引數不相等,則 MySQL 兩次求得的值為 expr1。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2157240/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- T-sql isnull函式介紹SQLNull函式
- nvl、nvl2與nullif函式用法區別Null函式
- 簡單介紹SQL中ISNULL函式使用方法SQLNull函式
- SQL Server CE和SQL Server 2000/2005中的ISNULL函式的異同SQLServerNull函式
- [20200213]函式nullif使用.txt函式Null
- MySQL 的日期和時間函式MySql函式
- Oracle中處理空值的函式nvl-nvl2-lnnvl-nullif的用法Oracle函式Null
- MySql中時間和日期函式MySql函式
- nullifNull
- Mysql 的trim() 函式MySql函式
- MYSQL的字串函式MySql字串函式
- MySQL 儲存過程和函式MySql儲存過程函式
- MySQL儲存過程和函式MySql儲存過程函式
- MySQL 函式MySql函式
- MySQL函式MySql函式
- MySQL條件判斷IF,CASE,IFNULL語句詳解MySqlNull
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- Mysql 的儲存過程和儲存函式MySql儲存過程儲存函式
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- Mysql 常用函式(15)- upper 函式MySql函式
- 【Mysql 學習】日期函式函式MySql函式
- MySQL日期和時間函式彙總MySql函式
- mysql日期和時間函式學習MySql函式
- MySQL的concat函式MySql函式
- Rust中的into函式和from函式Rust函式
- ascii函式和substr函式的用法ASCII函式
- MySQL 常用函式MySql函式
- MySQL 常用函式。MySql函式
- MySQL函式(一)MySql函式
- MySQL常用函式MySql函式
- mysql拼接函式MySql函式
- mysql函式大全MySql函式
- 14 mysql 函式MySql函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- MySQL 5.7關於日期和時間的函式整理MySql函式
- mysql實現oracle的lead和lag函式功能MySqlOracle函式
- MySQL函式學習(一)-----字串函式MySql函式字串
- MySQL函式-條件判斷函式MySql函式