2016-02-29 3 views
1

У меня есть база данных (MySQL 5.6, если это имеет значение), в которой я хотел бы хранить числовые значения, которые обычно, но не всегда, являются целыми числами. Прямо сейчас у меня есть столбец DECIMAL(10, 3), который, кажется, работает хорошо. То, что я ищу это метод, который я знаю, не существует в родной JDBC, но будет что-то вроде:SQL DECIMAL to Java Number

public Number ResultSet.getNumber() 

который возвратил бы мне Long (или, может быть, даже Integer), если базовое значение SQL является фактически целое число и Double в противном случае. Есть ли способ получить эквивалентный результат из столбца SQL DECIMAL в JDBC?

ответ

3

Рекомендуемое отображение Java для SQL DECIMAL и NUMERIC значений BigDecimal:

ResultSet.getBigDecimal() 
+0

Интересно. Я сделаю это. – Dan

3

Вы можете получить десятичное значение из таблицы и преобразовать его в два раза, как:

BigDecimal res = ResultSet.getBigDecimal(); 
+0

Почему вы получите его как BigDecimal, а затем вы конвертируете его в double? Используйте напрямую ResultSet.getDouble(). –

+0

Правильно !. Чтобы преобразовать его в двойное значение, я показал его. – FallAndLearn