如何區分 MySQL IFNULL() 和 NULLIF() 函式?


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

IFNULL() 的語法

IFNULL(expression1, expression2)

NULLIF() 的語法

NULLIF(expression1, expression2)

它們的區別在於返回第一個引數作為結果的方式。IFNULL() 函式將在第一個引數不為 NULL 時將其作為結果返回,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’,因為它具有第一個引數,並且不同於第二個引數。

更新時間:20-6 月-2020

2K+ 次瀏覽

開啟你的事業

完成課程,獲得證書

開始
廣告