2016-02-29 38 views
1

我有一個數據庫(MySQL 5.6,如果它很重要),我想存儲通常但不總是整數的數值。現在我有一個DECIMAL(10, 3)列,似乎工作得很好。我正在尋找的是我知道在本地JDBC不存在的方法,但會是這樣的:SQL DECIMAL到Java編號

public Number ResultSet.getNumber() 

這將返回我Long(或者甚至Integer)如果基礎SQL值實際上是一個整數,否則就是一個Double。有什麼方法可以從JDBC中的SQL DECIMAL列獲得等效的結果嗎?

回答

3

爲SQL decimal和numeric值的推薦的Java映射的BigDecimal:

ResultSet.getBigDecimal() 
+0

有趣。我會給你一個鏡頭。 – Dan

3

您可以從表中獲取的十進制值,並將其轉換爲雙爲:

BigDecimal res = ResultSet.getBigDecimal(); 
+0

你爲什麼把它作爲BigDecimal,然後你把它轉換爲雙?最終直接使用ResultSet.getDouble()。 –

+0

正確!只是將其轉化爲雙重價值,我展示了它。 – FallAndLearn