使用SQL语句如何实现条件判断
客户需求是咨询如何用SQL结合decode函数实现条件判断,比如当某一列数值大于500,对应类型“大于500”;当某一列数值小于500,对应类型“小于500”。 实际decode函数无法实现这个功能,实现要用到case when,为此我构造一个简单的示例来直观演示:
create table test302(id number, name varchar2(20));
insert into test302 values (499, 'aaa');
insert into test302 values (500, 'bbb');
insert into test302 values (501, 'ccc');
commit;
测试包含case when的SQL:
select u.id,u.name,
(case
when u.id>500 then '大于500'
when u.id<500 then '小于500'
else '等于500'
)type
from test302 u;
得到结果如下:
SQL> select u.id,u.name,
2 (case
3 when u.id>500 then '大于500'
4 when u.id<500 then '小于500'
5 else '等于500'
6 end
7 )type
8 from test302 u;