1. 程式人生 > >MySQL 的IFNULL()函式的作用

MySQL 的IFNULL()函式的作用

在使用left join等聯表查詢時,常遇到某些欄位為null,一般都在後臺語言使用if (a==null) 判斷做處理,其實MySQL本身也有一個IFNULL函式可以處理。同時我們也來說說ISNULL()和NULLIF()函式。

一、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。

二、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。

相關推薦

MySQL IFNULL()函式用法

用法說明 1 IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否則它返回 expr2。 IFNULL()返回一個數字或字串值,取決於它被使用的上下文環境。 我們先舉一些例子: 1 mysql> SELECT

MYSQL-----IFNULL()函式的用法

    Mysql查詢中可以使用IFNULL()函式,IFNULL函式中有兩個引數,它的作用是測試如果ifnull第一個引數不為null,就會顯示出查詢的結果,如果第一個引數為null,則會返回第二個引數的字串,IFNULL函式使用方法示例如下: 注意點:首先要注意此方法只適用於mysq

MySQL IFNULL()函式用法MySQL

用法說明 1 IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否則它返回 expr2。 IFNULL()返回一個數字或字串值,取決於它被使用的上下文環境。 我們先舉一些例子: 1 m

mysql IFNULL()函式

用法說明 IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否則它返回 expr2。 IFNULL()返回一個數字或字串值,取決於它被使用的上下文環境。 示例: select

MySQL ifnull函式判斷欄位值為null時使用預設值

在使用left join等聯表查詢時,常遇到某些欄位為null,一般都在後臺語言使用if a==null 判斷做處理,其實MySQL本身也有一個ifnull函式可以處理。 假設有兩張表 name表: 1 2 3 4 5 6 7 8 9 10 mysql>

MYSQL IFNULL函式的用法

IFNULL函式格式    IFNULL(引數1,引數2)引數兩個引數,                      第一個引數為比較是否為空的引數                     第二個引數為當第一個引數為空時返回的引數方法返回值                   

MYSQL IFNULL函式第二篇----後臺數字型別非空處理

為什麼寫這篇文章呢,因為作為一個後臺開發人員一段時間,發現在複雜的生產環境總會因為null值的原因而出現問題。前後端定位問題的時候,往往將非空處理拋給了後臺了。其實處理非空的問題確實屬於後臺的責任。1 如果公司應用是web應用,可以利用springmvc的訊息機制進行處理。這

mysql ifnull函式的使用

在使用left join等聯表查詢時,常遇到某些欄位為null,一般都在後臺語言使用if a==null 判斷做處理,其實MySQL本身也有一個ifnull函式可以處理。 name表: mysql> select * from name; +------+------

MySQLIFNULL()函式作用

在使用left join等聯表查詢時,常遇到某些欄位為null,一般都在後臺語言使用if (a==null) 判斷做處理,其實MySQL本身也有一個IFNULL函式可以處理。同時我們也來說說ISNULL()和NULLIF()函式。 一、IFNULL(expr1,

mysql中的COUNT()組函式IFNULL()函式,顯示引擎,檢視資料庫版本等等

#COUNT()函式,或者說組函式/聚合函式/統計函式會忽略null值,即不把null值算進來 SELECT COUNT(commission_pct), COUNT(department_id), COUNT(*)FROM employees; /* MySQL中的IFNULL函式類似於Ora

mysql中替代oracle中nvl()函式ifnull()函式

如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。IFNULL()返回一個數字或字串值,取決於它被使用的上下文環境。  1mysql> select IFNULL(1,0);2       -> 13mysql> select IFNULL(0,1

MYSQL 中的IFNULL函式

IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。IFNULL()返回一個數字或字串值,取決於它被使用的上下文環境。 mysql> select IFNULL(1,0);        -> 1mysql> select

SQLserver中ISNULL函式MysqlIFNULL函式的用法

本文介紹下,sql server中的isnull函式,以及mysql中的ifnull函式,介紹二者的具體用法與區別,有興趣的朋友可以研究下哦。 先來看SQL Serve的ISNULL函式: ISNULL(check_expression,replacement_valu

mysql中的ifnull函式

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

Mysqlifnull 函式和 if 函式的使用

MYSQL: IFNULL(expr1,expr2);如果expr1不是NULL,IFNULL()返回expre1,否則它返回expr2,IFNULL()返回一個數字或者字串,取決於它被使用的上下文環境。mysql > select ifnull(1,0);    //

Mysql中類似於nvl()函式ifnull()函式

IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。IFNULL()返回一個數字或字串值,取決於它被使用的上下文環境。 mysql> select IFNULL(1,0); ->

`這個符號在mysql中的作用

幫助 sse 數據 ren 符號 over ntpd 昨天 ria 昨天開始寫代碼,把數據插入到mysql數據庫中,但是怎麽也沒辦法插入,上網搜,最後的辦法是在phpmyadmin中插入數據後將它轉換為php語句,最後如下: //$sql = "INSERT INTO

Mysql中delimiter作用

elseif else views 默認 設置mysql update pre ati 部分 1. delimiter delimiter是mysql分隔符。在m

利用MYSQL函式實現使用者登入功能,進出都是JSON(第二版)

利用MYSQL的函式實現使用者登入功能,進出都是JSON(第二版) CREATE DEFINER=`root`@`%` FUNCTION `uc_session_login`( `reqjson` JSON, `srvjson` JSON ) RETURNS json LANGUAGE

MySQL函式詳解!

完整性約束 什麼是資料完整性 資料的準確性和可靠性。 分類 實體完整性 記錄準確的。(記錄不能重複) 主鍵約束: 不能重複,不能為空。  Primary key 欄位唯一的。 不能使用業務欄位。 無意義的