我們怎樣區分 MySQL IFNULL() 和 NULLIF() 函式?


實際上,MySQL IFNULL() 和 NULLIF() 函式的語法幾乎相同,如下所示:-

IFNULL() 的語法

IFNULL(expression1, expression2)

NULLIF() 的語法

NULLIF(expression1, expression2)

它們之間的區別在於它們將第一個引數作為結果返回的方式。如果第一個引數不為 NULL,則 IFNULL() 函式將返回第一個引數作為結果;如果兩個引數不相同時,NULLIF() 函式將返回第一個引數作為結果。

mysql> Select IFNULL('Ram','Shyam');
+-----------------------+
| IFNULL('Ram','Shyam') |
+-----------------------+
| Ram                   |
+-----------------------+
1 row in set (0.00 sec)

mysql> Select NULLIF('Ram','Shyam');
+-----------------------+
| NULLIF('Ram','Shyam') |
+-----------------------+
| Ram                   |
+-----------------------+
1 row in set (0.00 sec)

從這兩個函式的結果集來看,它們似乎很相似,但 IFNULL() 函式返回‘Ram’,因為它既是它的第一個引數,又不為 NULL。另一方面,NULLIF() 函式返回‘Ram’,因為它既是第一個引數,又不同於第二個引數。

更新於: 2020 年 6 月 20 日

2000+ 人瀏覽

開啟你的 職業生涯

完成課程並獲得認證

開始
廣告
© . All rights reserved.