Ada*_*ler 14 sql sql-server ssms rounding
我正在使用SQL Server Management Studio并具有以下架构:
CREATE TABLE tmp(
    id int NOT NULL IDENTITY(1,1)PRIMARY KEY,
    toleranceRegion DECIMAL
)
然后我执行以下插入:
INSERT INTO tmp VALUES(3.2); 
INSERT INTO tmp VALUES(5.678);
INSERT INTO tmp VALUES(1.95);
预期产量:
id  toleranceRegion
--  ---------------
1   3.2
2   5.678
3   1.95
实际产量:
id  toleranceRegion
--  ---------------
1   3
2   6
3   2
为什么插入的toleranceRegion值被舍入为最接近的整数?
Igo*_*gor 14
您没有为小数定义比例/精度.如果您想要小数点后的3位数,则应将其定义为DECIMAL(9,3),这将给出小数点前6位和小数最多3位.您需要分析预期数据,并根据预期指定列定义的正确精度和比例.
CREATE TABLE tmp(
    id int NOT NULL IDENTITY(1,1)PRIMARY KEY,
    toleranceRegion DECIMAL(9,3)
)
请参阅Sql Server文档中的decimal.
| 归档时间: | 
 | 
| 查看次数: | 15670 次 | 
| 最近记录: |