Spring + Hibernateアプリでは、名前付きパラメーターを使用しようとすると、pasendクエリは、データベースにテキストとして保存されたxmlドキュメントの値を合計する必要があります。
SELECT document_type,
SUM(CAST(substring(document_content ,'<ab.*>(.*[0-9])</ab>') as float)) as value, COUNT(*)
FROM statistic_data_test
WHERE column LIKE :param1::text
GROUP BY document_type
ORDER BY value DESC
param1は、URLを介してプログラムに渡される名前付きパラメーターです。クエリ名とパラメータ名全体は、ユーザーによって動的に作成されます。
上記のコードは正常に機能しますが、完全に一致するものを見つける機能が必要であるだけでなく、クエリで刺し傷を連結することもできません。今のところ、コードの一部で、タイプがテキストであるかどうかを確認しています。テキストである場合は、接尾辞と接頭辞として%マークを追加します。
私が気にしないのは、%マークをパラメータからクエリ文字列に移動することですが、
WHERE column LIKE '%'+:param1::text+'%'
エラーになります
どのようにそれを行うことができますか?クエリで刺し傷を連結する方法は?