如何通过一次测试检查NULL/空/空格值?
我想编写一个SELECT语句,该语句只使用一个测试返回没有值的列(NULL、EMPTY或所有空格)。
我认为这会起作用:
SELECT column_name from table_name WHERE column_name NOT LIKE '%_%';
但这不适用于空值。
我当然可以添加
OR column_name IS NULL
而且它可以工作,但我想要一种使用单个测试的方法。
解决方案
功能上,您应该能够使用
SELECT column_name
FROM table_name
WHERE TRIM(column_name) IS NULL
问题是不会使用COLUMN_NAME上的索引。如果TRIM(COLUMN_NAME)是选择性条件,则需要在TRIM(COLUMN_NAME)上具有基于函数的索引。
相关文章