0

JCR ノードのstringプロパティをdoubleJCR-SQL2 の値と比較しようとしています。しかし、値をstringsとして比較しています。

例えば:

SELECT * FROM [nodex] as x  where x.propertyY <= 20.50

これpropertyYstring定義の です。

CASE でこれを試しましたが、まだ動作しません。doubleプロパティ定義を変更せずに比較できますか?

4

1 に答える 1

0

標準の JCR-SQL2 にはCAST(value AS DOUBLE)式がありますが、残念ながら式の右辺でしか使用できません。はい、JCR-SQL2 は通常の SQL ほど柔軟ではありません。

私の知る限り、比較を実行する前にプロパティ値を double に変換する有効な標準的な方法は実際にはありません。double 値を文字列にキャストすると、辞書式の比較が行われますが、もちろんあまり役に立ちません。

他の実装についてはわかりませんが、プロパティがresidual property の場合、 ModeShape はプロパティ値を double に変換します。これは、residual プロパティには定義がなく、したがって型がないためです。他の実装ではこのように動作しない可能性が非常に高いです。

于 2014-03-10T14:12:05.080 に答える