日期:2014-05-17  浏览次数:21136 次

oracle 存储过程case
                   CASE
WHEN b_name='CBD商圈' THEN 
--
(1): dbms_output.put_line('1:'||b_name);
--
WHEN b_name='二环以内' THEN
--
(2) dbms_output.put_line('2:'||b_name);
--
else
dbms_output.put_line('else:'||b_name);
end CASE;

我需要b_name的值等于'CBD商圈','燕莎商圈','望京商圈'..这几个条件时,都走(1)号语句
在b_name的值等于'二环以内','三环到四环','四环以外'..这几个条件时,走(2)号语句
存储 oracle

------解决方案--------------------
              CASE
WHEN b_name in ('CBD商圈','燕莎商圈','望京商圈') THEN 
--
(1): dbms_output.put_line('1:'
------解决方案--------------------
b_name);
--
WHEN b_name in ('二环以内','三环到四环','四环以外') THEN
--
(2) dbms_output.put_line('2:'
------解决方案--------------------
b_name);
--
else
dbms_output.put_line('else:'
------解决方案--------------------
b_name);
end CASE;


应该可以解决你的问题吧
------解决方案--------------------
用If else来做啊


------解决方案--------------------
楼上可以解决的,但是为什么一定要用case when呢?