Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Phân biệt hàm IFNULL() và NULLIF() trong MySQL

Cả hai hàm có cú pháp gần giống nhau:

Cú pháp IFNULL()

IFNULL(expression1, expression2)

Cú pháp NULLIF()

NULLIF(expression1, expression2)

Khác biệt ở cách trả về đối số đầu tiên:

  • IFNULL() trả về expression1 nếu nó khác NULL.
  • NULLIF() trả về expression1 nếu hai đối số khác nhau.
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)

Cả hai đều trả về 'Ram' nhưng lý do khác: IFNULL vì đối số 1 không NULL; NULLIF vì đối số 1 khác đối số 2.