2012-03-09 76 views
0

這裏是SQL語句,我目前有:如何將10位數字字段轉換爲小數點後只有兩個位置?

CAST(ISNULL(slp.WEIGHT, 0) AS numeric(10, 2)) AS shipweight 

它是生產例如291659.399999999,我要的是291659.40。

+1

投它AS'DECIMAL(10,2)' – diaho 2012-03-09 19:38:00

+0

我沒有這個問題。下面是我使用的示例代碼:'DECLARE @WEIGHT numeric(20,10) SET @WEIGHT = 291659.3999999999 SELECT @WEIGHT,CAST(ISNULL(@WEIGHT,0)AS numeric(10,2))AS as weightweight' – 2012-03-09 19:43:47

回答

0
CAST(ISNULL(slp.WEIGHT, 0) AS decimal(10, 2)) AS shipweight 

這應該工作...

+0

DECIMAL和NUMERIC是相同的數據類型。見:HTTP://msdn.microsoft.com/en-us/library/ms187746.aspx – 2012-03-09 19:47:46

0

嘗試使用ROUND功能,而不是使用CAST。國際海事組織,使用ROUND函數將更清楚地表明你正在將價值四捨五入並且更具可讀性。

相關問題