我在表中有一个数据类型为decimal(10,2)
的列,当我尝试更新存储过程中的列时,我失去了2位数的精度。
如果我将字段更新为单个查询,它可以正常工作,但在存储过程中它会失去其精度。
示例:
UPDATE table
SET decimal(10,2) column = decimal(10, 2) column / 100
示例:197.50
更新后的结果为197.00
由于
答案 0 :(得分:0)
我认为,在您的RDMBS
中,column / 100
会自动完成运行时转换:
column
采用十进制格式且100
不是十进制格式因此,您的解决方案正在将100
更改为十进制格式,如下所示:
100.00
CAST(100 As Decimal(10, 2))
(decimal(10, 2) 100)
答案 1 :(得分:0)
解决了问题。出于某种原因/ 100不能保持精度,当我尝试* 0.01时它起作用。