【发布时间】:2012-04-03 11:33:32
【问题描述】:
我需要比较存储在数据库中作为浮点数的数字的相等性(这必须支持多个数据库,我无法控制它的存储方式),但当然相等只会让你到目前为止有一个近似值,所以我需要像这样对列值进行四舍五入:
select * from x where round(col, 2) = ?;
不幸的是,我似乎无法在 JPQL 中找到这样做的方法。有没有办法实现这一点(不改变数据库)?
【问题讨论】:
我需要比较存储在数据库中作为浮点数的数字的相等性(这必须支持多个数据库,我无法控制它的存储方式),但当然相等只会让你到目前为止有一个近似值,所以我需要像这样对列值进行四舍五入:
select * from x where round(col, 2) = ?;
不幸的是,我似乎无法在 JPQL 中找到这样做的方法。有没有办法实现这一点(不改变数据库)?
【问题讨论】:
我有两个想法来解决这个问题:
查询between
使用原生查询
【讨论】:
col 上的任何索引仍被使用。