网站开发日志

2009年10月3日星期六

分享家:Addthis中国

mysql命令行 - NULL 和 NOT NULL

NULL代表空值, 它是mysql里一个比较特殊的数据类型。在这一节里我们要学习:

如何处理NULL值?

如果一个列的值被设为NULL,那么我们不可以使用比较操作数作为条件来查询。例如:

SELECT * FROM sometable WHERE somefeild = NULL

上述查询语句是不正确的。mysql提供三种特殊的操作数来处理NULL值。

  1. IS NULL:如果列值为NULL,那么操作数返回真值
  2. IS NOT NULL: 如果列值为不为NULL,那么操作数返回真值
  3. <=>: 全等比较操作数,如何想比较的两个变量全等,那么换回真值,例如:
mysql> select null<=>null;
+-------------+
| null<=>null |
+-------------+
|           1 |
+-------------+
1 row in set (0.00 sec)

因此,本文开头例子里的查询语句的正确写法应该是:

SELECT * FROM sometable WHERE somefield IS NULL
//或者
SELECT * FROM sometable WHERE somefield <=> NULL

标签: ,

相关文章:

0 条评论:

发表评论

指向此帖子的链接:

创建链接