你这样试一下
declare @v decimal
set @v = 1/2
select @v实际上@v的值现在是0因为1/2 在这里不是二分之一,而是1除以2,两数字运算,结果以类型级别高的数字为准,这里1和2都是int型的,所以,结果0.5是保存不上的,结算结束以后就直接保存了0
declare @v decimal
set @v = 1/2
select @v实际上@v的值现在是0因为1/2 在这里不是二分之一,而是1除以2,两数字运算,结果以类型级别高的数字为准,这里1和2都是int型的,所以,结果0.5是保存不上的,结算结束以后就直接保存了0
即使是declare @v decimal
set @v = 99/100
select @v结果也是0
set @a=1
set @b=2
set @v=@a/@b
print ceiling(@v)
go这样就能返回1了,谢谢