Oracle函数——比较函数

本文详细介绍了SQL中的NVL、NVL2、NULLIF、COALESCE、GREATEST、LEAST及DECODE函数的用法,并通过具体示例展示了如何在查询中应用这些函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
  结果:二
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值