gpt4 book ai didi

java - oracle 中数字的类似操作问题

转载 作者:行者123 更新时间:2023-12-01 15:04:15 25 4
gpt4 key购买 nike

这是一个使用 openjpa ORM 的 java 项目。我在 Oracle 数据库中选择 NUMBER(10,2) 类型时遇到问题。

JPA is BigDecimal 中的数字类型和数字可以是整数,也可以不是整数,例如:

123456
or 123456,01; 123456,15

在表示层,用户具有全局过滤器,但不仅限于此列,他可以在其中选择列和运算符(例如,等于或之间)并定义值。

例如:column1 like '%56%'

表示层的数字也有精度 2,所以:

123456,00 ->'123456,00'
123456,01 -> '123456,01'

Oracle数据库执行此类操作时,nuber会转换为String类型:

123456,00 -> '123456'
and 123456,01 -> '123456,01'

所以column1 like '%,0%'的运算结果仅为

123456,01 但不是两者。

我也尝试过调用像 here 这样的原生 SQL 函数,但我们使用 OpenJPA 1.2.3 和 JPA 1.0 实现。

请帮助我找到解决问题的方法。

最佳答案

我不知道这是否对您有帮助,但在 Oracle 方面您应该使用:

select * 
from your_table
where to_char(your_column,'99999999.99') like '%.0%';

关于java - oracle 中数字的类似操作问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13193483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com