oracle的case when的用法和decode函数的用法

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函数

 

posted @ 2018-06-01 15:12  小小邪  阅读(9138)  评论(0编辑  收藏  举报