永发信息网

SQL中 nvl()、coalesce()、decode()这三个函数,如果只是判断非空的话,哪一个效率相比较高?

答案:1  悬赏:0  手机版
解决时间 2021-01-29 19:39
nvl(bonus,0) 意思是 如果 bonus is null , 那么返回 0, 否则返回 bonus

coalesce(bonus,0,1) 意思是 返回 参数列表中, 第一个非 空的数据。
也就是相当于, 如果 bonus is null , 那么返回 0, 否则返回 bonus。
这里的最后一个参数 1, 目测是打酱油的。

coalesce(bonus,null,0) 意思是 返回 参数列表中, 第一个非 空的数据。
也就是相当于, 如果 bonus is null , 那么第2个参数还是 null, 最后返回第3个参数 0

decode(name,‘apple’,0) 意思是, 如果 name = 'apple' 那么返回 0
否则的话 , 就是返回 null 了。

我知道他们的区别,只是不知道单个字段判空的时候,他们的效率比较的顺序是?
最佳答案
nvl只支持2个参数,这是oracle特有的
coalesce支持不定参数,coalesce(bonus,0,1)应该写成coalesce(bonus,0),最后1个不用写,这是ansi标准函数,在多次外连接时尤其有用,譬如 t1 full join t2 on t1.id=t2.id full join t3 on coalesce(t1.id,t2.id)=t3.id full join t4 on coalesce(t1.id,t2.id,t3.id)=t4.id
decode判断不了非空
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
站前社区居委会地址在哪,我要去那里办事
碧波音乐茶座地址在什么地方,想过去办事
不到两个月的小狗拉血了,还能活么
【眼保健操第三节】...第三节课后安排一次眼
一群民工对吗
(急) 进口报关单和随机(货)的正本单据(
张台子村地址在什么地方,我要处理点事
听雨轩(金石路)地址有知道的么?有点事想过去
大家的冷却液会不会变少
双生的意思是什么啊?知道的请说下!
用描述的语言叙述我国铁路客运服务目前在安全
【电池内阻】什么叫做电池内阻?就是电阻的意
比特犬能吃生猪皮吗?吃生食物要注意些什么
李庄子村地址在哪,我要去那里办事
信息论的意思是什么啊?知道的请说下!
推荐资讯
2.5乘以8减去4.88乘以0.14这样用简便方法
七起八落的意思是什么啊?知道的请说下!
江贼的意思是什么啊?知道的请说下!
响当当主题宾馆地址在什么地方,想过去办事
恒翔石业地址在什么地方,想过去办事
安全排查什么意思?
中国移动(宏旺顺营业厅)地址在什么地方,想过
wifi信号好,但是为什么不能玩王者荣耀
让帝的意思是什么啊?知道的请说下!
华中农业大学生科院微生物考研。。。 生物化
坝黄供电所(铜仁市郊供电局坝黄供电所营业厅)
鸣吠的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?