是这样的,现在要:select field1 / field2 from test这个 field2 为0就不行啦,各位是怎么处理的?
select case field2 when 0 then 0 else field1/field2 end from test
select field1/(case field2 when 0 then 1 else field2 end) from test
select field1/decode(NVL(field2,0),0,1,field2) from test ; 说明NVL和DECODE都是SQL的函数,具体功能可以网上搜索 楼上case field2 when 0 then 1 else field2 end只能用在数据窗口作为表达式用,在语句中是不可以这样用的
declare @file1 dec(3,2),@file2 dec(5,2) set @file1=5 set @file2=0select 结果=@file1/(case @file2 when 0 then 1 else @file2 end)--结果:结果 ------------- 5.00000000怎么会不可以呢,楼上真搞笑
是这样的,现在要:select field1 / field2 from test这个 field2 为0就不行啦,各位是怎么处理的?
说明NVL和DECODE都是SQL的函数,具体功能可以网上搜索
楼上case field2 when 0 then 1 else field2 end只能用在数据窗口作为表达式用,在语句中是不可以这样用的
判断的话是用case when结构
不知道楼主在file2为0时,想要的是什么结果了
set @file1=5
set @file2=0select 结果=@file1/(case @file2 when 0 then 1 else @file2 end)--结果:结果
-------------
5.00000000怎么会不可以呢,楼上真搞笑