NVL NVL2 NULLIF DECODE CASE

本文详细介绍了SQL中的几个常用函数,包括NVL、NVL2、NULLIF、DECODE、SIGN及CASE表达式的使用方法,并通过具体实例展示了这些函数如何处理空值、比较值以及进行条件判断。

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

NVL
判断是否为空:
NVL(exp1,exp2) 如果exp1为空 则返回exp2 否则 返回 exp1
NVL2(exp1,exp2,exp3) 如果exp1为空 则返回 exp2,否则返回exp3
NULLIF(exp1,exp2)    如果exp1=exp2返回null  否则返回exp1
 
decode(exp1,exp2,exp3,exp4,exp5); 如果exp1=exp2返回exp3 如果等于exp4返回exp5
sign(exp1); 返回-1 0 1
case exp1
when exp2 then
 exp3
when exp3 then
 exp4
 
case
when exp1 then exp2
when exp3 then exp4
 
下面 举例说明吧:
NVL
SQL> select * from stu;
 
                                     ID NAME
--------------------------------------- --------------------
                                      1
                                      2 fa
 
SQL> select nvl(name,'空')as 姓名 from stu;
 
姓名
--------------------

fa
 
NVL2
SQL> SELECT NVL2(NAME,'不为空','空') from stu;
 
NVL2(NAME,'不为空','空')
------------------------

不为空
 
SQL>
 
NULLIF
 
SQL> SELECT NULLIF(id,1) from stu;
 
NULLIF(ID,1)
------------
           2
 
第二条记录是1则返回空
 
decode:
SQL> select decode(id,1,'一',2,'二') as ID号 from stu;
 
ID号
----

sign:
SQL> select sign(3) from dual;
 
   SIGN(3)
----------
         1
 
SQL> select sign(0) from dual;
 
   SIGN(0)
----------
         0
 
SQL> select sign(-1) from dual;
 
  SIGN(-1)
----------
        -1
 case:
SQL> select (case id when 1 then '一' when 2 then '二' end) from stu;
 
(CASEIDWHEN1THEN'一'WHEN2THEN'
------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值