0

这是一个关于 java 的项目,带有openjpa ORM. NUMBER(10,2)我对Oracle 数据库中的类型选择有问题。

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

123456
or 123456,01; 123456,15

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

例如: column1 like '%56%'

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

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

当 Oracle 数据库像 opearaion 一样执行时,nuber 被转换为字符串类型:

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

所以操作 column1 的结果like '%,0%'只有

123456,01但不是两者兼而有之。

我也尝试像这里一样调用本机 SQL 函数,但我们使用 OpenJPA 1.2.3 和 JPA 1.0 实现。

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

4

1 回答 1

1

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

select * 
from your_table
where to_char(your_column,'99999999.99') like '%.0%';
于 2012-11-02T11:29:21.190 回答