1

Java Web アプリケーション Bean で HQL クエリを作成しようとしています。データベース テーブルには、数値データを含むが数値としてではなく、文字列 (varchar2) として含まれる列があります。これは私のプロジェクト設計の一部です。ユーザーは GUI で数値を入力し、HQL クエリを使用して、Bean がデータを取得します。例 :

35 (データベース値) <= 40 (ユーザー入力値)

これらの値は文字列です。番号ではありません。HQL クエリ文字列を作成するにはどうすればよいですか? 「LIKE」句を使用すると解決策になるとは思いませんか?私の質問が明確であることを願っています。

ありがとうございました。

4

1 に答える 1

0

列(数値にキャスト)が数値(19,2)を超えると、私のソリューションがクラッシュすることに注意してください

where (case when isNumeric(YOUR_COLUMN) = 1 then cast(YOUR_COLUMN as big_integer) else 99999 end) < USER_INPUT_VALUE

おそらく、else ブランチを調整する必要があります。YOUR_COLUMN が数値でない場合、デフォルト値として99999を選択したため、有効な値とは見なされません。

于 2013-10-15T12:09:10.240 に答える