我正在尝试将JCR节点的string属性与JCR 2中的double值进行比较。但它是将值作为strings进行比较。
例如:
SELECT * FROM [nodex] as x where x.propertyY <= 20.50这里,propertyY是定义中的string。
我试过这个案子,但还是没用。我可以在不更改属性定义的情况下将其作为double进行比较吗?
发布于 2014-03-10 14:12:05
标准的JCR 2有一个CAST(value AS DOUBLE)表达式,但不幸的是它只能在表达式的右侧使用。是的,JCR 2并不像普通SQL那样灵活。
据我所知,在运行比较之前,没有一种有效的标准方法将属性值转换为双倍。如果你把双值转换成一个字符串,你会得到一个字典学的比较--这当然不是很有用。
我不确定其他实现,但是当属性是剩余属性时,ModeShape会将属性值转换为双值,因为残差属性没有定义,因此没有类型。其他实现很可能不会这样做。
https://stackoverflow.com/questions/22300610
复制相似问题