Oracle --nvl(),CASE WHEN 用法介绍

本文介绍了Oracle中的CASE WHEN表达式及其在SELECT、WHERE、GROUP BY子句中的用法,对比了与SQL Server中的ISNULL的区别。同时讨论了NVL、NVL2和NULLIF函数的使用,并提到了DECODE函数作为IF-THEN-ELSE的一种实现,但因其不支持ANSI SQL且语法不够清晰,不被推荐。

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

sqlserver与oracle case when else ,isnull语法差别 


sqlserver里的isnull()
oracle里nvl()
NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值
NVL2(Expr1,Expr2,Expr3)如果Expr1不为NULL,返回Expr2的值,否则返回Expr3的值
NULLIF(Expr1,Expr2)如果Expr1和Expr2的值相等,返回NULL,否则返回Expr1的值

sqlserver里的case when else的用法:
 表名 = CASE WHEN a.colorder = 1 THEN d .name ELSE '' END, 
     

oracle里case when else的用法:
 (CASE WHEN a.colorder = 1 THEN d .name ELSE '' END) as 表名, 


=====================================================

1. CASE WHEN 表达式有两种形式

复制代码
--简单Case函数  

CASE sex
WHEN '1' THEN ''
WHEN '2' THEN ''
ELSE '其他' END

--Case搜索函数

CASE
WHEN sex = '1' THEN '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值