Какой тип данных Java соответствует типу данных Oracle SQL NUMERIC?

Какой тип данных Java драйвер Oracle JDBC назначает типу данных Oracle SQL NUMERIC ? Это зависит от размера типа NUMERIC ?

9
задан Derek Mahar 17 August 2010 в 16:05
поделиться

3 ответа

Как уже говорили другие: драйвер отображает все в BigDecimal, даже если он определен как NUMBER (38) (который может быть сопоставлен с BigInteger)

Но это довольно легко узнать что отображает драйвер. Просто выполните getObject () в столбце ResultSet и посмотрите, какой класс сгенерировал драйвер.

Примерно так:

ResultSet rs = statement.executeQuery("select the_number_column from the_table");
if (rs.next())
{
  Object o = rs.getObject(1);
  System.out.println("Class: " + o.getClass().getName());
}
11
ответ дан 4 December 2019 в 14:26
поделиться

Это было давно, но я считаю, что в Java это БОЛЬШОЙ. Это BigDecimal. Я помню classcastexception, с которым вы могли бы столкнуться, подсказали бы ...

1
ответ дан 4 December 2019 в 14:26
поделиться

Согласно документации Oracle это java.math.BigDecimal .


"но мой приведенный к BigDecimal бросает ClassCastException "

Вы пробовали использовать oracle.sql.NUMBER ?

2
ответ дан 4 December 2019 в 14:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: