有可能实现我在下面的SQL查询中尝试做的事情吗? 我想检查项目名称是否与给定列表中的任何一个匹配。
select
case item_name
when any ('PEN', 'PENCIL', 'PAPER', 'ERASER') then 'STATIONARY'
else 'OTHER'
end is_stationary
from items;
我尝试了这个查询,似乎不可能。错误消息是,
ORA-00936: missing expression
00936. 00000 - "missing expression"
*Cause:
*Action:
Error at Line: 29 Column: 10
还有其他解决方法可以达到这个目的吗?
答案 0 :(得分:6)
试试这个
select
case when item_name IN ('PEN', 'PENCIL', 'PAPER', 'ERASER') then 'STATIONARY'
else 'OTHER'
end is_stationary
from items;
答案 1 :(得分:3)
select
case
when item_name = any ('PEN', 'PENCIL', 'PAPER', 'ERASER') then 'STATIONARY'
else 'OTHER'
end is_stationary
from items;