mysql select 非空_sql – MySQL SELECT只是非空值

  • Post author:
  • Post category:mysql


sql – MySQL SELECT只是非空值

是否可以执行只接受NOT NULL值的select语句?

现在我正在使用这个:

SELECT * FROM table

然后我必须用php循环过滤掉空值。

有办法吗?

SELECT * (that are NOT NULL) FROM table

现在,当我选择*我得到val1,val2,val3,null,val4,val5,null,null等….但我只是想得到我的结果中不为null的值。 这可能没有过滤循环吗?

8个解决方案

393 votes

您应该使用IS NOT NULL.(比较运算符=和<>都在表达式的任一侧给出UNKNOWN和NULL。)

SELECT *

FROM table

WHERE YourColumn IS NOT NULL;

为了完整起见,我会提到在MySQL中你也可以否定null安全等式运算符,但这不是标准的SQL。

SELECT *

FROM table

WHERE NOT (YourColumn <=> NULL);

编辑以反映评论。 听起来您的桌子可能不是第一种正常形式,在这种情况下,更改结构可能会使您的任务更容易。 其他几种做法虽然……

SELECT val1 AS val

FROM your_table

WHERE val1 IS NOT NULL

UNION ALL

SELECT val2



版权声明:本文为weixin_30621429原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。