這裏是SQL語句,我目前有:如何將10位數字字段轉換爲小數點後只有兩個位置?
CAST(ISNULL(slp.WEIGHT, 0) AS numeric(10, 2)) AS shipweight
它是生產例如291659.399999999,我要的是291659.40。
這裏是SQL語句,我目前有:如何將10位數字字段轉換爲小數點後只有兩個位置?
CAST(ISNULL(slp.WEIGHT, 0) AS numeric(10, 2)) AS shipweight
它是生產例如291659.399999999,我要的是291659.40。
CAST(ISNULL(slp.WEIGHT, 0) AS decimal(10, 2)) AS shipweight
這應該工作...
DECIMAL和NUMERIC是相同的數據類型。見:HTTP://msdn.microsoft.com/en-us/library/ms187746.aspx – 2012-03-09 19:47:46
嘗試使用ROUND功能,而不是使用CAST。國際海事組織,使用ROUND函數將更清楚地表明你正在將價值四捨五入並且更具可讀性。
投它AS'DECIMAL(10,2)' – diaho 2012-03-09 19:38:00
我沒有這個問題。下面是我使用的示例代碼:'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