我想编写一个SELECT语句,它只使用一个测试来返回没有值的列(null,empty或所有空格).
我认为这会奏效:
SELECT column_name from table_name WHERE column_name NOT LIKE '%_%';
Run Code Online (Sandbox Code Playgroud)
但这对NULL值不起作用.
我当然可以补充一下
OR column_name IS NULL
Run Code Online (Sandbox Code Playgroud)
它会起作用,但我想要一种使用单一测试的方法.
截至目前,我正在使用IF ELSE来处理这种情况
IF INPUT_PARAM IS NOT NULL
SELECT ... FROM SOMETABLE WHERE COLUMN = INPUT_PARAM
ELSE
SELECT ... FROM SOMETABLE
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法在没有IF ELSE循环的单个查询中执行此操作.随着查询变得复杂,会有更多这样的输入参数,并且所需的IF ELSE数量太多.