sql中if语句和nvl函数用法

sql中if语句和nvl函数用法,第1张

前言:
原本不想吐槽但还是忍不住啊,疫情时期出差导致五一没法回家真是实惨。其实呢在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。是不是还是挺好理解的呢。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/798712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存