Oracle case when 根据结果改变查询出来的值


先看看表中的内容

select name,pass from t1;

2.方法一--使用decode函数

select name,decode(pass,'pass111','密码1','pass222','密码2','','密码为空') from t1;

注意:decode函数中如果你没列出可能的情况,他就默认为空

3.方法二--使用nvl函数

select name,nvl(pass,'密码为空') from t1;

nvl函数只对查询为空的情况赋值

4.方法三--使用case  xxx   when...then....else......end

select name,
       case pass
         when 'pass111'
           then 'mima-111'
         when 'pass222'
           then 'mima-222'
         else 'mima-null' 
       end
from t1;

case when else end和JAVA语法很相似,该是什么就是什么,最好理解

相关内容