在SQL中使用带有参数/变量的Case语句来检查Null值

jpu*_*700 5 sql null case where

我正在尝试编写一个SQL Select语句,以根据通过前端的用户输入返回记录.我想写这样的Select语句:

SELECT somefields
FROM sometable
WHERE CASE variable
         WHEN 'blank' THEN field IS NULL
         ELSE field = field
      END
Run Code Online (Sandbox Code Playgroud)

基本上我要么过滤一列来查找NULL值,要么忽略过滤器并根据变量的值返回所有值.我知道CASE语句的结果不可执行但我怎么能这样做?

Zan*_*son 0

我想我明白你想要的了。也许是这样的?

SELECT field1,
    field2,
    CASE variable
        WHEN 'blank' THEN NULL
        ELSE field3
    END as field3
FROM sometable
Run Code Online (Sandbox Code Playgroud)