2017-03-17 47 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個字符的前面請求,並且產生錯誤:

"******" 

這是相當複雜的腳本中隔離開來,而且我認爲這將是有益的在這裏分享