在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传递给程序的命名参数。整个查询和参数名称由用户动态创建。
上面显示的代码工作正常,但我需要能够找到不仅完全匹配,但我不能连接查询中的stings。现在,在代码的一部分我正在检查类型是否为文本,如果是,我添加%标记作为后缀和前缀。
我想要的是从参数中删除%标记到查询字符串,但是像
WHERE column LIKE '%'+:param1::text+'%'
转错了
怎么做到呢?如何在查询中连接字符串?
改变策略,保持目标。
使用position
函数。
position(:param1::text in column) <> o