我想寫的東西是這樣的:有沒有可能在CASE語句中使用更多的WHEN列?
case column_01
when column_01 = 5 AND column_02 = 'NO'
then value
else value_other
end
是它在某種程度上可能嗎?
我想寫的東西是這樣的:有沒有可能在CASE語句中使用更多的WHEN列?
case column_01
when column_01 = 5 AND column_02 = 'NO'
then value
else value_other
end
是它在某種程度上可能嗎?
您已經混合了兩種不同的語法對於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
哦,我明白了! 非常感謝! :)) – Yte 2015-04-02 09:30:25
不客氣! – 2015-04-02 09:34:33
或者:when(column_01,column_02)=((5,'NO'))then ...' – 2015-09-07 11:37:12
不可以。您必須爲每列寫一個case語句。
隨着case語句,你要麼檢查一列/變量的值,做你檢查針對:
case column_01
when 1 then 'a'
when 2 then 'b'
...
else 'zzz'
end
或您檢查每個條件時,子句:
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
你不能把這兩種形式結合起來,這樣做也沒有意義。
您在這裏混合兩種不同情況的版本。 – jarlh 2015-04-02 08:59:51
你可以在這裏找到一些額外的信息http://www.oracle-developer.net/display.php?id=206 – michaos 2015-04-02 09:18:43