【发布时间】:2013-07-27 03:01:54
【问题描述】:
我有一个 JDOQL/DataNucleus 存储层,它在 varchar 字段中存储可以具有多种原始类型的值。其中一些是数字的,我需要将它们与数字常量进行比较 (>/...)。如何做到这一点?我试图使用例如(java.lang.)Long.parse 字段或值(例如 java.lang.Long.parseLong(field) > java.lang.Long.parseLong(string_param)),针对字符串字段提供 long 类型的参数等.但它不起作用。事实上,我很少得到任何错误,对于各种组合,它会返回所有值或不返回任何值,因为没有容易辨别的原因。 有这方面的文档吗?
澄清:该字段是字符串类型(实际上是我从中获取的字符串集合)。对于某些值的子集,它们可能存储整数,例如“3”字符串,我需要做例如值 >= 2 个过滤器。 我尝试使用强制转换,但不多,它们确实会产生错误,让我再调查一下
【问题讨论】:
-
既然我们这里说的是JDO,那么你想用数字比较的字段,实际上是
Strings 吗?我的意思是你需要在数字上比较的持久类成员变量是String?
标签: jdo datanucleus jdoql