mysql中,
> select * from test;
+----+------+-------+
| id | name | des |
+----+------+-------+
| 1 | 1_m | 1_des |
| 5 | 1_m | 1_des |
| 6 | | |
| 7 | 2_m | NULL |
> select * from test where des is null;
+----+------+------+
| id | name | des |
+----+------+------+
| 7 | 2_m | NULL |
> select * from test where des is not null;
+----+------+-------+
| id | name | des |
+----+------+-------+
| 1 | 1_m | 1_des |
| 5 | 1_m | 1_des |
| 6 | | |
> select * from test where des="";
+----+------+------+
| id | name | des |
+----+------+------+
| 6 | | |
> select * from test where des!="";
+----+------+-------+
| id | name | des |
+----+------+-------+
| 1 | 1_m | 1_des |
| 5 | 1_m | 1_des |
> select * from test where des<>"";
+----+------+-------+
| id | name | des |
+----+------+-------+
| 1 | 1_m | 1_des |
| 5 | 1_m | 1_des |
> select * from test where des like "%%";
+----+------+-------+
| id | name | des |
+----+------+-------+
| 1 | 1_m | 1_des |
| 5 | 1_m | 1_des |
| 6 | | |
> select * from test where des not like "%%";
Empty set (0.019 sec)
即
field is null
匹配 为NULL的行
field is not null
匹配 不为NULL,可以为"“的行
field=""
匹配不为NULL且为”“的行
field!=""
匹配不为NULL且不为”"的行
field like "%%"
匹配不为NULL的任意串
field not like "%%"
匹配空。
字段值 | field is null | field is not null | filed=="" | field!="" | field<>"" | field like “%%” | field not like “%%” |
---|---|---|---|---|---|---|---|
“value” | N | Y | N | Y | Y | Y | N |
“” | N | Y | Y | N | N | Y | N |
NULL | Y | N | N | N | N | N | N |