4个回答
展开全部
看"空"在你的定义里是最小还是参照数了.一般情况下要么等同于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'
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'
展开全部
比如字段COL1 COL2
其中col1为NULL 那么可以这样
where isnull(col1,0)>col2
意思就是用isnull函数转化null字段 当col1字段为NULL时候 它的值转化成0 再与col2进行比较
其中col1为NULL 那么可以这样
where isnull(col1,0)>col2
意思就是用isnull函数转化null字段 当col1字段为NULL时候 它的值转化成0 再与col2进行比较
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select sign(isnull(expr1,0)-isnull(expr2,0)) from table,结果>0的字段都是大于。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意 feixianxxx的方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询