Mysql中ifNull()/if()/case when用法和Oracle中nvl()/nvl2()/decode()的用法

一、Mysql中ifNull()/if()/case when的用法
IFNULL函数的用法:
IFNULL(expr1,expr2),表示若expr1为NULL,则返回expr2,否则返回expr1。

IF函数的用法:
IF(expr1,expr2,expr3),表示若expr1为TRUE(expr1<>0且expr1<>NULL),则返回expr2,否则返回expr3。

CASE WHEN函数的用法:
CASE WHEN condition1 THEN result1 [WHEN condition2 THEN result2 …] [ELSE resultN] END,表示若condition1为TRUE,则返回result1 ,否则若condition2为true则返回result2…,若均不满足则返回resultN。

二、Oracle中nvl()/nvl2()/decode()的用法
NVL函数的用法:
NVL(expr1,expr2),表示若expr1为NULL,则返回expr2,否则返回expr1。

NVL2函数的用法:
NVL2(expr1,expr2,expr3),表示若expr1不为NULL,则返回expr2,否则返回expr3。

DECODE函数的用法:
DECODE(value,if1,then1,if2,then2,if3,then3,……,else),表示若value等于if1,则返回then1,否则若等于if2则返回then2,……,若均不满足则返回else。

三:总结
通过比较,可以发现:
ifNull(exp1,exp2)类似于nvl(exp1,exp2);
if(exp1,exp2,exp3)类似于nvl2(exp1,exp2,exp3);
CASE WHEN 类似于DECODE()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值