Oracle函数——比较函数

1、NVL(X,VALUE)函数:如果X为空,返回value,否则返回X

    select NVL('','空') from dual;

    结果:空

2、NVL2(X,value1,value2)函数:如果x非空,返回value1,否则返回value2
   select NVL2('X','value1','value2') from dual;
   结果:value1
3、NULLIF(expr1,expr2)函数:比较expr1和expr2的值,相等返回null,否则返回expr1.其中expr1不能为null。
  select NULLIF('ABC','A') from dual;
  结果:ABC      ——在逻辑上相当于case语句:case when expr1=expr2 then null else expr1 end
4、coalesce(exp1,exp2,.....)函数:返回第一个非空值,假设都是空值,则返回空值,表达式最少是两个,各参数或       表达式数据类型必须一致。
    select coalesce(null,1,2) from  dual;
    结果:1
5、Greatest(n1,n2……n)函数:取一个一维数组中最大值
   SELECT Greatest('c','d','a','b') a from dual
   结果:d
6、least(n1,n2……n)函数:取一个一维数组中最小值
  SELECT least('c','d','a','b') a from dual
  结果:a
7、DECODE(input_value,value,result[,value,result...][,default_result])函数:其中:把input_value与后面的每    个value进行比较,如果匹配返回相应的result。如果没有发生匹配,则返回default_result,如果没有default_result则返回        null。对应一个空的返回值,可以使用关键字NULL与之对应。
  select decode(2,1,'一',2,'二') from  dual;
  结果:二

猜你喜欢

转载自blog.csdn.net/qq_33459369/article/details/80416012