
用法:查询不相等数据
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值
用法:如果是空值就替换成另一个值如nvl(字段,‘x’)字段值等于null就这个函数得到的结果就是'x',一般用于存在空值比较的情况下,比如字段a与字段b都是int型,其中一个等于null另一个为非空值,你使用a<>b是不成立的。
使用此条件查询你将丢失这条本来不相等的数据,可以如此用法nvl(字段,-1)<>nvl(字段,-1),这样就可以得到想要查询的数据,当然查询数据的前提是此字段值不能有-1值才能用这种写法
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,例:nvl(yanlei777,0) > 0NVL(yanlei777, 0) 的意思是 如果 yanlei777 是NULL, 则取0值通过查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值。
看"空"在你的定义里是最小还是参照数了一般情况下要么等同于0或负值,要么看做最小
EXP: 字段1 A 字段2 B
1等于0
在比较前取数时,用isnull(A/B,0)将A/B替换成0再比较
(正常来说int型列值在insert语句下不输入会为0但手工插入或外媒体导入会发生空值)
2看做最小
举个例子:
declare @A int
declare @B int
set @A=1
set @B=null
--select @A a,len(@A)la,@B b,len(@B)lb
select case
when @A=@B or isnull(len(@B),0)=isnull(len(@A),0) then '相等'
when isnull(len(@A),0)=0 then 'B大'
when isnull(len(@B),0)=0 then 'A大'
when @A>@B then 'A大'
else 'B大' end as 'result'
以上就是关于Oracle中nvl函数的用法和作用是什么全部的内容,包括:Oracle中nvl函数的用法和作用是什么、Sql Server 2005中当两个整型字段中一个为空时如何比较大小、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)