【发布时间】:2013-12-31 20:26:26
【问题描述】:
我在表格中有以下列
SIZE NUMERIC(14,5)
PRICE NUMERIC(14,5)
当我执行这个select 查询时,
SELECT SIZE,
PRICE,
SIZE*PRICE AS TOTAL
FROM TNAME
我得到了结果:
1.00000 90.00000 90.0000000000
1.00000 90.00000 90.0000000000
1.00000 90.00000 90.0000000000
1.00000 100.00000 100.0000000000
1.00000 30.00000 30.0000000000
我想知道为什么第三列返回小数点后 10 位?
我也明白了
将数值数据类型转换为数值时出现算术溢出错误
将结果插入另一个具有相同数据类型的相同列的表中
INSERT INTO TNAME2(SIZE, PRICE, TOTAL)
SELECT
SIZE, PRICE, SIZE * PRICE AS TOTAL
FROM
TNAME
【问题讨论】:
-
我想知道为什么第三列返回小数点后 10 位? 那应该是什么?
-
两个因素的乘积在逻辑上会导致更高的精度。如果四舍五入,可能会丢失信息。
标签: sql sql-server-2008 tsql