SQL Server str舍入错误='******'

时间:2017-03-17 15:43:05

标签: sql sql-server

这是一个奇怪的SQL服务器行为我无法解决或找到答案,但我发现答案所以我在这里发布作为自我回答

select
str(value,6,2)
from a

导致价值:

"******"

显然我知道舍入数值的问题,但我收到一个错误值=“******”,我很难找到解决方案的文档

1 个答案:

答案 0 :(得分:0)

有问题的价值是:

'999.995'

字符和小数位参数导致了一个有趣的错误

STR(值,6,2)

指定6个字符,带有2个小数位,但当'999.995'被舍入时,会产生:

'1000.00'

有7个characers和2个小数位,这与之前的6个字符的请求相矛盾,并产生错误:

"******"

在脚本中隔离相当复杂,我认为在这里分享是有用的