1. 程式人生 > >MySql的簡單查詢不等於,NULL

MySql的簡單查詢不等於,NULL

查詢表中aa是null的資料:

select * from table where aa is null;

查詢表中aa不等於1的資料:

select * from table where aa <> 1;

NULL值操作:

NULL值可能令人感到奇怪直到你習慣它。概念上,NULL意味著“沒有值”或“未知值”,且它被看作與眾不同的值。為了測試NULL,你不能使用算術比較 操作符例如=、<或!=。為了說明它,試試下列查詢:

mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
+----------+-----------+----------+----------+
| 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL | +----------+-----------+----------+----------+ | NULL | NULL | NULL | NULL | +----------+-----------+----------+----------+ 很顯然你不能通過這些比較得到有意義的結果。相反使用IS NULL和IS NOT NULL操作符: mysql> SELECT 1 IS NULL, 1 IS NOT NULL; +-----------+---------------+
| 1 IS NULL | 1 IS NOT NULL | +-----------+---------------+ | 0 | 1 | +-----------+---------------+ 請注意在MySQL中,0或 NULL意味著假而其它值意味著真。布林運算的預設真值是1。

自我感覺is null或者IFNULL(SUM(),XXX)在開發中經常用到。