我正在尝试写这样的东西:
case column_01
when column_01 = 5 AND column_02 = 'NO'
then value
else value_other
end
有可能吗?
答案 0 :(得分:2)
您已为 CASE 表达式混合了两种不同的语法。
你可以这样做:
CASE
WHEN column_01 = 5 AND column_02 = 'NO' THEN
value
ELSE
value_other
<强> 1。 simple_case_statement
CASE [ expression ]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
WHEN condition_n THEN result_n
ELSE result
END
<强> 2。 searched_case_statement 强>
CASE
WHEN expression condition_1 THEN result_1
WHEN expression condition_2 THEN result_2
...
WHEN expression condition_n THEN result_n
ELSE result
END
答案 1 :(得分:1)
使用case语句,您可以检查一个列/变量的值,并对其进行检查:
case column_01
when 1 then 'a'
when 2 then 'b'
...
else 'zzz'
end
或者您检查每个when子句中的条件:
case when column_01 = 5 and column_02 = 'NO' then value
when column_01 = 10 and column_03 = 'FRED' then 123
else value_other
end
你不能将这两种形式结合起来,也没有意义。
答案 2 :(得分:0)
没有。您必须为每列编写一个case语句。