2012-06-27 54 views
3

一個不尋常的問題的位,但我已經在數據類型爲「DECIMAL(5,2)」的MySQL表中設置了一個字段。據我瞭解,我所做的是隻允許從-999.99到999.99的數字插入到此字段中。MySQL DECIMAL數據類型是否強制整數的小數點?

但是,當我插入一個整數到26的值(這是有效的)時,我在數據庫中顯示這是26不是26.00 - 這是正常的MySQL行爲嗎?我(可能天真地)認爲,因爲我已經將比例設置爲2,我的數字總是會顯示2位小數?

我的問題是 - 在MySQL內執行整數「DECIMAL」數據類型總是顯示沒有任何小數位的地方?或者,這是我的數據庫管理器工具爲我格式26.00到26?

這似乎有點奇怪的問題,但我仍然試圖讓我的頭部圍繞MySQL DECIMALs。謝謝。

+1

不是一個奇怪的問題。 MySQL絕對將你的整數以固定點格式存儲爲26.00;什麼是您用來查看數據的數據庫管理器工具? – eggyal

+0

感謝您的回覆,它是Windows 7上的EMS SQL Manager 2010(http://www.sqlmanager.net/products/mysql/manager/) – GhostInTheSecureShell

+1

如果您使用標準MySQL工具,您會看到什麼?如果有疑問,使用「參考」工具集總是很方便。 – Cylindric

回答

2

我已經找到答案了,看起來我的MySQL數據庫管理員有幫助(或不那麼有用)隱藏小數從我。對於任何人發現這個模糊的用處,我在Windows 7上使用EMS SQL Manager 2010。由於Cylindric誰提示我檢查我的工具信用!

回答我的原始問題 - 是的,即使「DECIMAL」數據類型中的整數也會顯示小數位數。例如:

DECIMAL(3,1) 

42 = 42.0 
531.2 = 99.9 
5 = 5.0 

希望這可以幫助某個地方的人!

+1

531.2?這將超出範圍,併爲您留下99.9 – Wiseguy

+0

謝謝,它已被修改。 – GhostInTheSecureShell

相關問題