我的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,更不解了??mysql结构selectsql

解决方案 »

  1.   

     where text is null,
      

  2.   

    null值比较特殊  不同于空字符   
      

  3.   

    改成SELECT * from t where text is not null;
      

  4.   


    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)
    我的没有错啊。
      

  5.   

    不会吧,你是那个版本的,还可以把null的查找出来,我这里怎么就是不可以
      

  6.   

    用 ISNULL 函数 ,空值: ISNULL(ssss)=1 反之 ISNULL(ssss)=0