欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql中isnull,ifnull,nullif的用法及語義詳解

 更新時(shí)間:2025年06月24日 11:33:36   作者:@昵稱不存在  
MySQL中ISNULL判斷表達(dá)式是否為NULL,IFNULL替換NULL值為指定值,NULLIF在表達(dá)式相等時(shí)返回NULL,用于空值處理、條件判斷及避免錯誤,本文給大家介紹Mysql中isnull,ifnull,nullif的用法及語義,感興趣的朋友一起看看吧

Mysql中isnull,ifnull,nullif的用法

在 MySQL 中,ISNULL、IFNULL 和 NULLIF 都與空值(NULL)的判斷或處理有關(guān),但它們的用途和語義不同

1. ISNULL(expr) → 判斷是否為 NULL

功能:返回 1(真)如果表達(dá)式為 NULL,否則返回 0(假)
示例

SELECT ISNULL(NULL);       -- 結(jié)果:1
SELECT ISNULL(123);        -- 結(jié)果:0
SELECT ISNULL(name) FROM users;

2. IFNULL(expr1, expr2) → NULL 值替換

功能:如果 expr1 是 NULL,返回 expr2;否則返回 expr1。
常用于:空值替換為默認(rèn)值
示例

SELECT IFNULL(NULL, 'default');     -- 結(jié)果:'default'
SELECT IFNULL('hello', 'default');  -- 結(jié)果:'hello'
-- 示例:替換用戶昵稱為空時(shí)的默認(rèn)名稱
SELECT IFNULL(nickname, '匿名') AS display_name FROM users;

等價(jià)于:

CASE WHEN nickname IS NULL THEN '匿名' ELSE nickname END

3. NULLIF(expr1, expr2) → 相等則返回 NULL

功能:如果 expr1 = expr2,返回 NULL;否則返回 expr1
常用于:避免除零錯誤,或“兩個值相同視為無效”的判斷
示例

SELECT NULLIF(5, 5);   -- 結(jié)果:NULL
SELECT NULLIF(5, 3);   -- 結(jié)果:5
-- 示例:除法避免除以 0
SELECT 10 / NULLIF(denominator, 0) FROM numbers;

總結(jié)

函數(shù)名主要用途示例結(jié)果
ISNULL(x)判斷是否為 NULLISNULL(NULL)1
IFNULL(x, y)如果 x 是 NULL,返回 yIFNULL(NULL, 'N/A')‘N/A’
NULLIF(x, y)如果 x = y,返回 NULLNULLIF(5, 5)NULL

補(bǔ)充:MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用

MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)的使用

在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函數(shù)進(jìn)行流程的控制。

1、IF()函數(shù)的使用

IF(expr1,expr2,expr3),如果expr1的值為true,則返回expr2的值,如果expr1的值為false,則返回expr3的值。

SELECT IF(TRUE,'A','B');    -- 輸出結(jié)果:A
SELECT IF(FALSE,'A','B');   -- 輸出結(jié)果:B

2、IFNULL()函數(shù)的使用

IFNULL(expr1,expr2),如果expr1的值為null,則返回expr2的值,如果expr1的值不為null,則返回expr1的值。

SELECT IFNULL(NULL,'B');    -- 輸出結(jié)果:B
SELECT IFNULL('HELLO','B'); -- 輸出結(jié)果:HELLO

3、NULLIF()函數(shù)的使用

NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值為null,否則返回值為expr1的值。

SELECT NULLIF('A','A');     -- 輸出結(jié)果:null
SELECT NULLIF('A','B');     -- 輸出結(jié)果:A

4、ISNULL()函數(shù)的使用

ISNULL(expr),如果expr的值為null,則返回1,如果expr1的值不為null,則返回0。

SELECT ISNULL(NULL);        -- 輸出結(jié)果:1
SELECT ISNULL('HELLO');     -- 輸出結(jié)果:0

到此這篇關(guān)于Mysql中isnull,ifnull,nullif的用法的文章就介紹到這了,更多相關(guān)mysql isnull,ifnull,nullif用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論