2010-04-06 61 views
9

我需要能夠在我的表中存儲數字3.5。所以我使用了十進制類型字段。但是,如果我輸入3.5,它將它舍入爲4.我是愚蠢的還是不是十進制的小數點?MS SQL Server十進制數據類型向上舍入

+2

您可以發佈小數列的完整定義(即您使用的比例和精度),例如DECIMAL(10,2) - 10 =精度,2 =標度。另外,你如何輸入數字 - 進入用戶界面?在一個SQL語句中?你能發表嗎? – AdaTheDev 2010-04-06 08:41:25

+0

爲什麼你不使用[FLOAT](http://msdn.microsoft.com/en-us/library/ms173773.aspx),如果你需要將數字總是舍入到0.0或0.5,請[看看這個主題] (http://stackoverflow.com/questions/752655/round-in-ms-sql-on-0-05-or-0-00) – adopilot 2010-04-06 08:30:37

+0

是工作,我只是雖然FLOAT是大量的數字。認爲我需要再次使用數據類型。感謝收養員! – iamjonesy 2010-04-06 08:34:36

回答

14

您需要聲明它爲decimal(18,3)以指定該點之後的位數。

+0

是的,它被宣告爲十進制(18,3)。不知道爲什麼我四捨五入。 – iamjonesy 2010-04-06 08:47:04

+7

你是如何放置數據的? 也許你正在使用存儲過程 - 比參數還應該有類型十進制(18,3),而不僅僅是十進制。 – st78 2010-04-06 08:57:29