0
我想要做這樣的事情(僞):Orace - CASE ...當等語法
select case myFunction(someField) when in ('val1', 'val2', 'val3') then 'Option1'
when someOtherField = 'Val4' then 'Option2' else null end as someColumn
我想要做這樣的事情(僞):Orace - CASE ...當等語法
select case myFunction(someField) when in ('val1', 'val2', 'val3') then 'Option1'
when someOtherField = 'Val4' then 'Option2' else null end as someColumn
select case when myFunction(someField) in ('val1', 'val2', 'val3') then 'Option1' when someOtherField = 'Val4' then 'Option2' else null end as someColumn from dual
作品!謝謝! – JEJoll
[文檔](http://docs.oracle.com/數據庫/ 121/SQLRF/expressions004.htm#SQLRF20037)也有一些例子... – Ben
我不確定重複解釋爲什麼僞代碼是錯誤的。您不能使用'in'形式的[CASE](http://docs.oracle.com/cd/E11882_01/server.112/e41084/expressions004.htm):「在一個簡單的CASE表達式中,Oracle數據庫搜索第一個WHEN ... THEN對,其expr等於compare_expr ...「。你'在'我不等於任何東西。因此,您需要使用搜索到的CASE語法,該副本會顯示。僞碼有兩種組合。 –