Принудительное возвращение MySQL 4.1 к десятичному типу - PullRequest
1 голос
/ 05 июля 2010

Я использую JDBC для доступа к базе данных MySQL 4.1 и у меня проблемы с запросами типа Decimal. Когда я делаю запрос по одному столбцу Decimal (например, SELECT amount AS v FROM Customer), я получаю BigDecimal через драйвер JDBC, но когда я выполняю операцию со столбцами Decimal (то есть SELECT amount + tax AS v FROM Customer), я получаю Double даже все столбцы, участвующие в операции, являются десятичными. Есть ли способ, которым я могу конвертировать или привести результат в десятичную. Я безуспешно пытался CAST и CONVERT.

Ответы [ 2 ]

1 голос
/ 05 июля 2010

Посмотрите на функцию ROUND():

Цитата:

Тип возврата такой же, как что из первого аргумента (при условии что это целое, двойное или десятичное).

Это может работать, если он считает один из ваших столбцов первым аргументом, а не результатом выражения.

1 голос
/ 05 июля 2010

Некоторые драйверы JDBC позволяют получать значение в виде нескольких типов (например, вы можете вызвать rs.getString(), даже если это значение INTEGER).Попробуйте позвонить getObject() или getBigDecimal() в колонку и проверить, что вы получаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...