我想编写一个SELECT语句,它只使用一个测试返回没有值的列(null、empty或all spaces).
我以为这样行得通:
SELECT column_name from table_name WHERE column_name NOT LIKE '%_%';
但这不适用于空值.
我当然可以补充
OR column_name IS NULL
它会起作用的,但我想要一种使用单一测试的方法.
我想编写一个SELECT语句,它只使用一个测试返回没有值的列(null、empty或all spaces).
我以为这样行得通:
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
存在的问题是,不会使用列名称上的索引.如果TRIM(column_name)是一个 Select 性条件,那么需要有一个基于函数的索引.