带有'或'和'和'的SQL Case语句

时间:2014-04-26 19:50:34

标签: sql case-statement

我可以按如下方式使用案例陈述吗?

CASE
WHEN (condition1 = 1 or 2) 
 AND   condition2 = 3
THEN  result = 'Result'
ELSE
NULL
 END

条件1和2将寻找不同的值,只是fyi。

如果没有,是否有更好的方法来写这个?

谢谢!

3 个答案:

答案 0 :(得分:1)

这会有用吗?

CASE WHEN condition1 in (1, 2) AND condition2 = 3
     THEN 'Result'
     ELSE NULL
END 
AS result

答案 1 :(得分:0)

这取决于您使用的系统。例如,如果您使用Oracle和PL / SQL,则可以检查此处的语句

http://www.techonthenet.com/oracle/functions/case.php

你在使用什么数据库?你想要SQL或其他类型的代码或存储过程中的语句吗?

答案 2 :(得分:0)

我不确定你要对这句话做什么。在select语句中,它将是:

SELECT (CASE WHEN (condition1 = 1 or 2) AND condition2 = 3
             THEN  'Result'
        END) as result

您不需要else,因为如果没有满足NULL条件,则语句会自动返回when

where中,它将是:

WHERE (condition1 = 1 or 2) AND (condition2 = 3) AND (result = 'Result')

else条件等同于false。