2017-03-17 67 views
-3

这是一个奇怪的sql服务器行为,我无法解决或找到答案,但我找到了答案,所以在这里发布作为自我回答SQL Server str rounding error ='******'

select 
str(value,6,2) 
from a 

结果值:

"******" 

显然,我所知道的与舍入数值的问题,但我收到一个错误值=“******”我挣扎着查找分辨率文档

回答

0

有问题的值:

'999.995' 

字符和小数位参数造成了一个有趣的错误

STR(值,6,2)

指定6个字符,其中2位小数,但“999.995”是圆形的时,它导致:

'1000.00' 

具有7个characers和2位小数,这与为6个字符的前面请求,并且产生错误:

"******" 

这是相当复杂的脚本中隔离开来,而且我认为这将是有益的在这里分享