我有兩個SQL查詢都返回SQL查詢結果問題
選擇圓(轉換(浮動, '24367.723'),2)
結果:24367.72
二:
select convert(varchar(20),round(convert(float,'24367.723'),2))
結果:24367.7
爲什麼第二次查詢返回排除轉換後的最後一位數字爲varchar
由於提前
我有兩個SQL查詢都返回SQL查詢結果問題
選擇圓(轉換(浮動, '24367.723'),2)
結果:24367.72
二:
select convert(varchar(20),round(convert(float,'24367.723'),2))
結果:24367.7
爲什麼第二次查詢返回排除轉換後的最後一位數字爲varchar
由於提前
如果不指定樣式參數的轉換功能你會得到默認的樣式(0)。
即,它是等效於做
select convert(varchar(20),round(convert(float,'24367.723'),2), 0)
的default style for converting from float to varchar顯示最大爲6個數字。
使用浮點數時,STR()函數通常會根據MSDN給出更好的結果,因爲您有更多的控制權。
E.g.
select str(convert(float,'24367.723'),8, 2)
不要使用浮動,使用確切的數字。像這樣的東西
convert(varchar(20), convert(numeric(20,2), '24367.72'))