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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20200213]函式nullif使用.txt函式Null
- 簡單介紹SQL中ISNULL函式使用方法SQLNull函式
- MySQL 的日期和時間函式MySql函式
- MySQL 儲存過程和函式MySql儲存過程函式
- MySQL儲存過程和函式MySql儲存過程函式
- MySQL 函式MySql函式
- MySQL函式MySql函式
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- MySQL條件判斷IF,CASE,IFNULL語句詳解MySqlNull
- Mysql 常用函式(20)- ceiling 函式MySql函式
- Mysql 常用函式(15)- upper 函式MySql函式
- MySQL日期和時間函式彙總MySql函式
- MySQL 常用函式MySql函式
- MySQL函式(一)MySql函式
- mysql函式大全MySql函式
- 14 mysql 函式MySql函式
- MySQL 常用函式。MySql函式
- Rust中的into函式和from函式Rust函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- mysql FIND_IN_SET函式、INSTR函式MySql函式
- MySQL函式-條件判斷函式MySql函式
- MySQL函式學習(一)-----字串函式MySql函式字串
- StretchBlt函式和BitBlt函式的區別和用法函式
- MySQL-日期和資料處理函式MySql函式
- MySQL的GET_LOCK函式MySql函式
- MySQL中日期和時間戳互相轉換的函式和方法MySql時間戳函式
- JavaScript中的compose函式和pipe函式JavaScript函式
- strcpy函式和memcpy函式的區別函式memcpy
- Mysql 常用函式(1)- 常用函式彙總MySql函式
- MySQL 內建函式MySql函式
- Mysql視窗函式MySql函式
- 《MySQL 入門教程》第 16 篇 MySQL 常用函式之日期函式MySql函式
- # 普通函式和箭頭函式的區別函式
- mysql find_in_set()函式的使用MySql函式
- Mysql中常用函式的使用示例MySql函式
- MySQL中的SUM函式使用教程MySql函式
- mysql中的if函式怎麼用MySql函式