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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM