Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL ISNULL() 함수와 IS NULL 연산자의 차이점은 무엇입니까?


상당히 둘 다 ISNULL() 함수 및 IS NULL 연산자는 차이가 없으며 몇 가지 일반적인 동작을 공유합니다. 우리가 볼 수 있는 유일한 차이점은 구문에 있습니다. ISNULL() 함수는 표현식을 인수로 갖는 반면 IS NULL 비교 연산자의 왼쪽에 표현식이 있습니다. 그렇지 않으면 표현식이 NULL이면 둘 다 1을 리턴하고 표현식이 NULL이 아니면 0을 리턴합니다. 다음 예는 위의 개념을 보여줍니다 -

mysql> Select 1 IS NULL;
+-----------+
| 1 IS NULL |
+-----------+
| 0         |
+-----------+
1 row in set (0.00 sec)

mysql> Select ISNULL(1);
+-----------+
| ISNULL(1) |
+-----------+
| 0         |
+-----------+
1 row in set (0.00 sec)

mysql> Select ISNULL(1/0);
+-------------+
| ISNULL(1/0) |
+-------------+
| 1           |
+-------------+
1 row in set (0.00 sec)

mysql> Select 1/0 IS NULL;
+-------------+
| 1/0 IS NULL |
+-------------+
| 1           |
+-------------+
1 row in set (0.00 sec)

mysql> Select * from Employee WHERE Salary IS NULL;
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+
2 rows in set (0.00 sec)

mysql> Select * from Employee WHERE ISNULL(Salary);
+----+-------+--------+
| ID | Name | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+
2 rows in set (0.00 sec)