繁体   English   中英

SQL不为空,作为CASE语句中的值

[英]SQL IS NOT NULL as a value in a CASE statement

我有一种情况,如果B等于61,我想选择非null值,我似乎找不到正确的语法。

A          |        B
value1     |        61
value2     |        0 
NULL       |        61


WHERE A = CASE 
    WHEN B = 61
        THEN IS NOT NULL
    END

我只想选择A = value1的行

为什么不直接前进呢?

WHERE (B=61) AND (A IS NOT NULL)

您可以像这样:

//thats really straight forward:
WHERE (A IS NOT NULL AND B=61)

否则他们是另一种吸引你的方式:)

WHERE
IF(A IS NOT NULL AND B=61,1,0) //add other conditions as you like

在许多情况下,没有必要在where子句中使用大小写表达式或IF(),通常通过组合括号中的条件来处理它。

WHERE ( B = 61 AND A IS NOT NULL )

这两个条件都必须为真,组合条件才为真

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM