概述
你应该使用IS NOT NULL。 (比较运算符=和都在表达式的任一侧给出UNKNOWN为NULL。)
SELECT *
FROM table
WHERE YourColumn IS NOT NULL;
为了完整性,我会提到,在MySQL中,你也可以否定null safe equality operator,但这不是标准的SQL。
SELECT *
FROM table
WHERE NOT (YourColumn <=> NULL);
已编辑以反映评论。听起来你的表可能不是第一正常形式,在这种情况下更改结构可能会使您的任务更容易。几个其他的方式做它虽然…
SELECT val1 AS val
FROM your_table
WHERE val1 IS NOT NULL
UNION ALL
SELECT val2
FROM your_table
WHERE val2 IS NOT NULL
/*And so on for all your columns*/
上述的缺点是它为每一列扫描表多次一次。这可能可以通过下面但是我没有在MySQL中测试这个。
SELECT CASE idx
WHEN 1 THEN val1
WHEN 2 THEN val2
END AS val
FROM your_table
/*CROSS JOIN*/
JOIN (SELECT 1 AS idx
UNION ALL
SELECT 2) t
HAVING val IS NOT NULL /*Can reference alias in Having in MySQL*/
最后
以上就是冷酷短靴为你收集整理的mysql select不为空_MySQL SELECT只能不为空值的全部内容,希望文章能够帮你解决mysql select不为空_MySQL SELECT只能不为空值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复