4
我有以下代碼:精度,小數位數總和,除以..截斷
SELECT -701385.10 -- -701385.10
SELECT SUM(-701385.10) -- -701385.10
SELECT -701385.10/2889991754.89 -- -0.000242694498630
SELECT SUM(-701385.10)/2889991754.89 -- -0.000242
在過去SELECT
結果被截斷爲6位小數。我已閱讀了Precision, Scale, and Length文章,除非我的工作是錯誤的,否則我無法理解截斷髮生的原因。類型的表達SUM(-701385.10)
的應DECIMAL(38,2)
- 見SUM - 所以從分割所得的類型應具有:
精度:
- P1 - S1 + S2 + MAX(6中,S1 + P2 + 1 )
- 38 - 2 + 2 +最大(6,2 + 10 + 1)
- 38 - 最大(6,13-)
- 38 - 13
規模:
- MAX(6中,S1 + P2 + 1)
- MAX(6,2 + 10 + 1)
- 最大值(6,13)
那麼爲什麼小數位被截斷?
[T-SQL十進制分割精度](可能重複的HTTP ://stackoverflow.com/questions/423925/t-sql-decimal-division-accuracy) – gbn