你好,有人可以帮我如何在 hql 中四舍五入到小数点后两位吗?
我在网上找不到任何东西。以下是我的查询:
Select p.amount as amt,p.desc from pay p, register r where r.type=?1 and r.code=?2;
如果有人可以提供帮助,我会很高兴。
使用的技术:hibernate、spring、java、primefaces 4.0、oracle数据库
我为此苦苦挣扎了很多,终于找到了以下解决方案:
如果您想要更加独立于数据库,并且特别想要支持 Postgres 或 Oracle DB,您可以使用下限函数进行舍入,这是非常通用的,并且不会为不同的实现留下太多空间,这意味着这可能适用于所有数据库(经过测试) Postgres 和 MySQL)。
该代码片段执行四舍五入到 2 位数字并按绝对值四舍五入。您可以轻松地根据您的需要进行调整。
使用 100.0 来考虑除以 100。这将确保您始终得到双精度结果,如果您对舍入值求和,这一点尤其重要。
floor(abs(value) * 100 + 0.5)/100.0 * sign(value)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)