one*_*hen 6 sql sql-server sql-server-2008
考虑这个查询:
WITH Scores (score)
AS
(
SELECT CAST(score AS INTEGER)
FROM (
VALUES (0),
(10),
(10)
) AS Scores (score)
)
SELECT AVG(CAST(score AS DECIMAL(19, 8))) AS precision_eight,
AVG(CAST(score AS DECIMAL(19, 7))) AS precision_seven,
AVG(CAST(score AS DECIMAL(19, 6))) AS precision_six,
AVG(CAST(score AS DECIMAL(19, 5))) AS precision_five,
AVG(CAST(score AS DECIMAL(19, 4))) AS precision_four
FROM Scores;
Run Code Online (Sandbox Code Playgroud)
结果:
precision_eight | precision_seven | precision_six | precision_five | precision_four
6.66666666 | 6.6666666 | 6.666666 | 6.666666 | 6.666666
Run Code Online (Sandbox Code Playgroud)
为什么我总是得到至少六位小数?这是记录在案的行为?
(我正在运行SQL Server 2008)
| 归档时间: |
|
| 查看次数: |
6183 次 |
| 最近记录: |