我想在休眠中选择最大日期但我收到此错误:
java.sql.SQLSyntaxErrorException:ORA-00932:不一致的数据类型: 预计TIMESTAMP得到NUMBER
查询是:
select coalesce(max (rc.dateTransactionReceipt),0 ) from MAMReceiptTransactions rc where rc.mamItems.id =m.id ) as lastDateOfCharge
并且数据库是oracle。 数据库中此字段的类型为TIMESTAMP(6)
答案 0 :(得分:1)
当时间戳在语法上不正确时,尝试获取0
(coalesce参数的数据类型必须兼容)。 Null听起来很合理。
select max(rc.dateTransaction) from your_table rc
如果要返回默认时间戳,可以在coalesce中使用它。也许您想要返回当前时间戳,以防上述内容返回null。
select coalesce(max(rc.dateTransaction), systimestamp) from your_table rc;