mysql中int类型检测为空的条件?

Kingyour 2003-07-17 11:44:22
先输入如下语句,创建一张表:
create table temp(aa int(4),bb int(4));

insert into temp(aa) values(11);
insert into temp(bb) values(22);
insert into temp values(33,44);

请问我怎么查询bb字段为空的记录( select * from temp where bb=null 不能实现,老是说找到0条记发!)

...全文
716 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kingyour 2003-07-23
  • 打赏
  • 举报
回复
谢谢两位!
lxf_1976 2003-07-17
  • 打赏
  • 举报
回复
试试:

select * from temp where bb is NULL
shuixin13 2003-07-17
  • 打赏
  • 举报
回复
SELECT * FROM temp WHERE bb IS NULL

SELECT * FROM temp WHERE bb <=> NULL


====================================================
<=>

NULL 值安全等于:
mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
-> 1 1 0

====================================================

IS NULL
IS NOT NULL

测试一个值是或不是 NULL:
mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;
-> 0 0 1
mysql> SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
-> 1 1 0

为了能够与其它程序更好的工作,在使用 IS NULL 是 MySQL 支持下列额外选择性:
通过它,你可以找到最后插入的记录行:
SELECT * FROM tbl_name WHERE auto_col IS NULL

这个操作可以通过设置 SQL_AUTO_IS_NULL=0 来禁止。查看章节 5.5.6 SET 句法.
对于 NOT NULL 的 DATE 和 DATETIME 列,可以通过使用下列语句找到特殊的值 0000-00-00:
SELECT * FROM tbl_name WHERE date_column IS NULL

这需要通过某些 ODBC 应用程序才能工作(因为 ODBC 不支持一个 0000-00-00 日期)

57,064

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧