decimaL为什么不能四舍五入
请教一个表里,有两个字段,都为decimal(38,6)数据类型的, 一个数据为0.3048,一个数据为1000 ,两数相除保留6位小数,结果应该为多少?
原先以为应该是0.000305,结果SQL出来为0.000304,不知是什么原因?
测试用例:
CREATE TABLE [T2](
[C1] [decimal](38, 6) NULL,
[C2] [decimal](38, 6) NULL,
[C3] [decimal](38, 6) NULL,
[C4] [decimal](28, 6) NULL,
[C5] [decimal](28, 6) NULL,
[C6] [decimal](28, 6) NULL
) ON [PRIMARY]
GO
INSERT INTO T2 VALUES(0.3048,1000,NULL, 0.3048,1000,NULL)
GO
UPDATE T2 SET C3=Round(C1/C2,6), C6=Round(C4/C5,6);
SELECT * FROM T2
GO
即用(38,6)与(28,6)出来的结果是不一样的,一个为0.000304,一个为0.000305。是否由于精度过高,导致的SQL计算过程中的缺陷问题,还是我理解有误?