我想编写一个 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/

10-14 09:57