强制MySQL 4.1返回Decimal类型

时间:2010-07-05 14:05:08

标签: java mysql jdbc

我正在使用JDBC访问MySQL 4.1数据库,并且对Decimal类型的查询有问题。当我对单个Decimal列(即SELECT amount AS v FROM Customer)进行查询时,我通过JDBC驱动程序获得BigDecimal,但是当我执行Decimal列的操作时(即SELECT amount + tax AS v FROM Customer )我得到Double甚至操作中涉及的所有列都是十进制的。有没有办法可以将结果转换或转换为十进制。我已尝试CASTCONVERT失败。

2 个答案:

答案 0 :(得分:1)

某些JDBC驱动程序允许以多种类型接收值(例如,您可以调用rs.getString(),即使值为INTEGER)。尝试在列上调用getObject()getBigDecimal()并检查您获得的内容。

答案 1 :(得分:1)

查看ROUND()功能:

引用:

  

返回类型与   第一个论点(假设   它是整数,双,或   十进制)。

如果它将您的某个列视为第一个参数而不是表达式的结果,则可能会有效。