Oracle中的decode函数、nvl函数、coalesce函数的用法 ccx原创


select   *,(case when SEX is "男" then 0 when SEX is "女"  then  1  else 2 end) as  sex from user;  

等价于  select decode(SEX,"男",0,"女",1,2)sex from user;


若查询的某个字段为null  但是显示时  想显示 其他值(以显示0为例),则可以
select *,nvl(fenshu,0) from score;  
等价于  select *,(if(fenshu is null) then 0 else fenshu end if)  fs from score;
若 性别只要2种情况  select *,(if(SEX.equals("男")) then 0 else 1 end if)  sex  from user;


coalesce(n1,n2)  若n1!=null  则  返回n1 否则  判断  n2是否为空   若不为空则返回 n2  若都为空 则  返回null
(coalesce (N1, N2, ...,Nn)依次参考各参数表达式,遇到非null值即停止并返回该值)

你可能感兴趣的:(Oracle数据库)