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

送分小仙女□ 提交于 2019-12-11 23:45:32

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!