oracle中,我们要使用case when时,要怎样使用
如下测试数据,我要把ClassId 的1变成一班,2变成二班,3变成三班,那sql要怎样写呢?
1、case when的用法
-- oracle中case when的用法--- select A.StuName,A.GENDER,A.AGE,A.Joindate,A.Address, (case A.ClassID when 1 then '一班' when 2 then '二班' else '三班' end) ClassName from Student A;
执行后结果
那除了这个case when的用法,oracle还有什么更方法的函数处理这种情况,那就是我们要介绍的decode函数了
2、decode用法
select A.StuName,A.GENDER,A.AGE,A.Joindate,A.Address, (decode(A.ClassId,1,'一班',2,'二班',3,'三班','无')) ClassName from Student A;
执行后结果是
注意: 其中最后decode函数的跟case when的写法是差不多的,只是更简便,建议遇到这种情况,用decode函数