【发布时间】:2009-09-07 18:59:19
【问题描述】:
我想将我的浮点字段转换为十进制字段;我希望十进制字段的精度为 11,2,但是当我尝试更改字段的类型(例如:金额)时出现错误:“将浮点数转换为数字数据类型的算术溢出错误。 该语句已终止。”我的字段是十进制(11,2)在表中,我的最大值和最小值是:1,603,837,393.70 -1,688,000,000.00(金额)。
我创建了一个临时表来取出数据并更改了我的字段结构,并且工作正常。但现在我需要把数据放回去(临时表仍然有原来的浮点字段),我只是不能用插入选择语句让它插入值。
由于我的值没有超出我的类型的范围,我想知道为什么甚至不能对这样的 select 语句进行强制转换:
select Id,AccountId, cast(Amount as decimal(12,2)) as Amount,
cast(AmountB as decimal(12,2)) as AmountB
FROM myTable
我无法确定不转换我的字段的原因。
【问题讨论】:
-
你能从那个表中发布一些数据吗?
标签: sql sql-server