mysql 怎么样把空值或null查询出来

北渔。 2013-10-01 10:06:54
我的MYQL5.5表结构如下
CREATE TABLE `t` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` varchar(100) NOT NULL COMMENT '用户UID',
`text` text COMMENT '信息内容',
PRIMARY KEY (`id`)


1、然后用第一条查询语句查询表:SELECT * from t;结果如下,其中id编号为1对应的text的值为我插入的空字符串,编号为2的为我设置的null值,用此语句查询,可以把表中所有记录全部查出来。

1 11
2 22
3 33 aa
4 44 bb


2、用查询语句:SELECT * from t where text !='aa'
1	11	
4 44 bb

对此,很是不解,为什么返回的是两条记录,不是有三条记录的值不等于aa吗?有没有什么办法用一条语句可以实现我的需求啊?

3、SELECT * from t where text !=null,用这语句,结果返回记录0,更不解了??
...全文
39967 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
行风 2013-10-10
  • 打赏
  • 举报
回复
用 ISNULL 函数 ,空值: ISNULL(ssss)=1 反之 ISNULL(ssss)=0
北渔。 2013-10-08
  • 打赏
  • 举报
回复
引用 5 楼 linux_PHP_ 的回复:

mysql> select * from t where text!='aa';
+----+-----+------+
| id | uid | text |
+----+-----+------+
|  1 | 11  |      |
|  2 | 22  | null |
|  4 | 22  | bb   |
+----+-----+------+
3 rows in set (0.00 sec)
我的没有错啊。。。。
不会吧,你是那个版本的,还可以把null的查找出来,我这里怎么就是不可以
Hx_Moon_ 2013-10-07
  • 打赏
  • 举报
回复

mysql> select * from t where text!='aa';
+----+-----+------+
| id | uid | text |
+----+-----+------+
|  1 | 11  |      |
|  2 | 22  | null |
|  4 | 22  | bb   |
+----+-----+------+
3 rows in set (0.00 sec)
我的没有错啊。。。。
DUTEddy 2013-10-06
  • 打赏
  • 举报
回复
改成SELECT * from t where text is not null;
北渔。 2013-10-02
  • 打赏
  • 举报
回复
没有人回答我的问题么
ACMAIN_CHM 2013-10-01
  • 打赏
  • 举报
回复
where text is null,
rucypli 2013-10-01
  • 打赏
  • 举报
回复
null值比较特殊 不同于空字符

56,677

社区成员

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

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