本文介绍在MySQL中,面对值为空(NULL)的字段,应该如何查询。怎么判断一个字段的值为NULL或不为NULL?
现在我们先来把test表中的一条记录的birth字段设置为空。
mysql> update test set t_birth=null where t_id=1;
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
OK,执行成功!
设置一个字段值为空时的语法为:set <字段名>=NULL
说明一下,这里没有大小写的区分,可以是null,也可以是NULL。
下面看看结果:
mysql> select * from test;
+------+--------+----------------------------------+------------+
| t_id | t_name | t_password | t_birth |
+------+--------+----------------------------------+------------+
| 1 | name1 | 12345678901234567890123456789012 | NULL |
| 2 | name2 | 12345678901234567890123456789012 | 2013-01-01 |
+------+--------+----------------------------------+------------+
2 rows in set (0.00 sec)
接下来分别查询一下字段t_birth值为空或不为空的记录:
mysql> select * from test where t_birth is null;
+------+--------+----------------------------------+---------+
| t_id | t_name | t_password | t_birth |
+------+--------+----------------------------------+---------+
| 1 | name1 | 12345678901234567890123456789012 | NULL |
+------+--------+----------------------------------+---------+
1 row in set (0.00 sec)
mysql> select * from test where t_birth is not null;
+------+--------+----------------------------------+------------+
| t_id | t_name | t_password | t_birth |
+------+--------+----------------------------------+------------+
| 2 | name2 | 12345678901234567890123456789012 | 2013-01-01 |
+------+--------+----------------------------------+------------+
1 row in set (0.00 sec)
说明:
1、查询字段值为空的语法:where <字段名> is null
2、查询字段值不为空的语法:where <字段名> is not null
关于MySQL查询空字段或非空字段(is null和not null),本文就介绍这么多,希望对大家有所帮助,谢谢!
要饭二维码
洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权
本文属于“洪哥笔记”原创文章,转载请注明来源地址:MySQL查询空字段或非空字段(is null和not null):http://www.splaybow.com/post/mysql-sql-where-is-not-null.html
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2013/10/2 10:36:19 | 编辑:小小菜鸟 | 分类:MySQL | 浏览: