我正在使用JDBC访问MySQL 4.1数据库,并且对Decimal类型的查询有问题。当我对单个Decimal列(即SELECT amount AS v FROM Customer
)进行查询时,我通过JDBC驱动程序获得BigDecimal
,但是当我执行Decimal列的操作时(即SELECT amount + tax AS v FROM Customer
)我得到Double
甚至操作中涉及的所有列都是十进制的。有没有办法可以将结果转换或转换为十进制。我已尝试CAST
和CONVERT
失败。
答案 0 :(得分:1)
某些JDBC驱动程序允许以多种类型接收值(例如,您可以调用rs.getString()
,即使值为INTEGER
)。尝试在列上调用getObject()
或getBigDecimal()
并检查您获得的内容。
答案 1 :(得分:1)