我可以按如下方式使用案例陈述吗?
CASE
WHEN (condition1 = 1 or 2)
AND condition2 = 3
THEN result = 'Result'
ELSE
NULL
END
条件1和2将寻找不同的值,只是fyi。
如果没有,是否有更好的方法来写这个?
谢谢!
答案 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。