我想编写一个 SELECT 语句,该语句仅使用一个测试来返回没有值(空、空或所有空格)的列。
我认为这会奏效:
SELECT column_name from table_name WHERE column_name NOT LIKE '%_%';
但这不适用于 NULL 值。
当然我可以添加
OR column_name IS NULL
它会起作用,但我想要一种使用单个测试的方法。
最佳答案
从功能上讲,您应该能够使用
SELECT column_name
FROM table_name
WHERE TRIM(column_name) IS NULL
问题是不会使用 COLUMN_NAME 上的索引。如果这是一个选择性条件,您将需要在 TRIM(column_name) 上有一个基于函数的索引。
关于sql - 如何通过单个测试检查空/空/空白值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4109435/