sql中if语句和nvl函数用法

前言:
原本不想吐槽但还是忍不住啊,疫情时期出差导致五一没法回家真是实惨。其实呢在sql语句中条件判断语句相对应python,java中的还是相当简洁的,后面博主会详细介绍的。nvl其实主要就是为了避免某个字段存在空值,在nvl中一个表达式返回的值为空值则返回另一个值,若不为空则返回表达式结果本身,哈哈哈感觉说的有点绕,说一万遍含义不如一个例子来的清晰,后面看博主结合例子讲就会很明了了。
if条件语句

IF( expr1 , expr2 , expr3 )
expr1为true时则返回expr2,否则返回expe3

示例:

select if(sal>5000,10000,1000) sal from sal_talbe
若sal大于5000则直接给sal赋值10000否则赋值1000。是不是很简洁。

nvl函数:

nvl(表达式1,表达式2)
若表达式1的结果不为null则返回表达式1的值,若为null则返回表达式2的值。
nvl(表达式1,表达式2,表达式3)
若表达式1的值为null则返回表达式3的值,若表达式1不为空则返回表达式2的值。

示例:

select nvl(case when meas_dev_id is not null then meter_id else 0 end,0) mester_id from meader_table
若meas_dev_id不为空则返回meter_id字段值,否则返回0,若meter_id字段为null则直接返回0。是不是还是挺好理解的呢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值