declare @percent decimal(3, 2) = null;
set @percent = 110 / 100
select @agent_fee_excl_percent
这给了我1.00而不是1.1。为什么?
答案 0 :(得分:4)
因为您要将整数除以整数,结果得到整数(1),然后将其分配给十进制变量(1.00)。您需要先将其中一个值转换为十进制,以便在将结果赋值为十进制之前将其分配给变量@percent
,如下所示:
set @percent = 110 / 100.00
...或...
set @percent = 110 / CAST(100 AS DECIMAL(8,2))