Home  >  Q&A  >  body text

mysql 查询值为null的数据

比如现在有数据表test:
id, CA, CB, CC
'1', 'fafa', '1', NULL
'2', 'xf', 'xd', '2'

我执行查询语句:

select * from test.test where CC <>1;

得到的结果是:
id, CA, CB, CC
'2', 'xf', 'xd', '2'

我希望两条记录都查询出来,我该怎么写sql语句?
我知道用这个语句可以查出来,但是我不想这么做,想知道有没更好的方案。

select * from test.test where CC <>1 or CC is null;
高洛峰高洛峰2647 days ago399

reply all(3)I'll reply

  • PHP中文网

    PHP中文网2017-04-17 13:40:36

    select * from test a where ifnull(CC,'NULL') <> 1;

    多一个ifnull函数,意为:如果CC字段是NULL值,显示为'NULL'字符串。
    能实现相同结果的尽量简洁、容易被其他人看懂的方案就是好方案了,你那语句可以了。

    reply
    0
  • 迷茫

    迷茫2017-04-17 13:40:36

    应该是可以采用NOT IN

    SELECT * FROM test.test WHERE CC NOT IN ('1');
    

    题主尝试一下?

    reply
    0
  • PHPz

    PHPz2017-04-17 13:40:36

    你的语句就很好了

    reply
    0
  • Cancelreply