MySQL <> NULL 和 IS NOT NULL 之間的差異?
如果將 <> 運算子與 NULL 值進行比較,你將始終獲得 NULL 值,並且沒有結果。
讓我們看一些比較示例 −
mysql> select 10 <> NULL; +------------+ | 10 <> NULL | +------------+ | NULL | +------------+ 1 row in set (0.00 sec) mysql> select NULL <> NULL; +--------------+ | NULL <> NULL | +--------------+ | NULL | +--------------+ 1 row in set (0.00 sec) mysql> select 'Chris' <> NULL; +-----------------+ | 'Chris' <> NULL | +-----------------+ | NULL | +-----------------+ 1 row in set (0.00 sec) mysql> select '' <> NULL; +------------+ | '' <> NULL | +------------+ | NULL | +------------+ 1 row in set (0.00 sec)
讓我們先建立一個表 −
mysql> create table DemoTable846(Value int); Query OK, 0 rows affected (0.93 sec)
使用插入命令在表中插入一些記錄 −
mysql> insert into DemoTable846 values(NULL); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable846 values(10); Query OK, 1 row affected (0.11 sec)
使用選擇語句從表中顯示所有記錄 −
mysql> select *from DemoTable846;
這將產生以下輸出 −
+-------+ | Value | +-------+ | NULL | | 10 | +-------+ 2 rows in set (0.00 sec)
以下是對 IS NOT NULL 運算子的結果 −
mysql> select *from DemoTable846 where Value IS NOT NULL;
這將產生以下輸出 −
+-------+ | Value | +-------+ | 10 | +-------+ 1 row in set (0.00 sec)
以下是對 <> 運算子的結果。以下是對查詢 −
mysql> select *from DemoTable846 where Value <> NULL; Empty set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP