MySQL使用 SQL SELECT 命令及 WHERE 子句來讀取數(shù)據(jù)表中的數(shù)據(jù),但是當(dāng)提供的查詢條件字段為 NULL 時嗅剖,該命令可能就無法正常工作猿规。
為了處理這種情況艾猜,MySQL提供了三大運算符:
(1)IS NULL:當(dāng)列的值是NULL,此運算符返回true衬鱼。
(2)IS NOT NULL:當(dāng)列的值不為NULL, 運算符返回true业筏。
(3)<=>:比較操作符(不同于=運算符),當(dāng)比較的的兩個值為NULL時返回true鸟赫。
關(guān)于 NULL 的條件比較運算是比較特殊的蒜胖。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
SELECT * FROM ta_tbl WHERE a_count = NULL;
SELECT * FROM ta_tbl?WHERE a_count?!= NULL;
上述兩條語句的中= 和 != 運算符是不起作用的抛蚤。
在MySQL中台谢,NULL值與任何其它值的比較(即使是NULL)永遠返回false,即 NULL = NULL 返回false 岁经。
MySQL中處理NULL使用IS NULL和IS NOT NULL運算符朋沮。
正確的比較a_count是不是NULL值的方法為:
SELECT * FROM ta_tbl WHERE a_count IS NULL;
SELECT * FROMta_tbl?WHEREa_count IS NOT NULL;