以下面的表为例:
用 case when 将人物战斗力筛选成不同的级别:
用法:case when 字段 = '值1' then '结果1' when 字段 = '值2' then '结果2' else '结果3' end
实例:
select name,fightnum,skill, (case when fightnum = 20000 then '神级'
when fightnum = 5000 then '影级'
else '战五渣' end) as "战斗力分级"
from huoying;
查询结果:
decode的用法:
(1)当使用decode函数判定某个字段,如果有多个值需要进行对比。用法decode(字段,值1,结果1,值2,结果2,值3,结果3)
,如果字段==值1,select返回结果1.如果字段=值2,返回结果2,以此类推。具体应用如下,
select name,decode(fightnum,'20000','神级','5000','影级','200','战五渣') as "级别" from huoying;
查询结果:
(2)当decode函数判定的函数只需要同一个值进行对比,用法decode(字段,需要对比的值,结果1,结果2)
,如果字段==需要对比的值,select返回结果1,否则返回结果2。具体应用如下:
select name,decode(skill,'绝对防御','是我爱罗','不是我爱罗') from huoying;
查询结果: