PostgreSQL + NHibernate - > LIKE部分中的命名参数

问题描述 投票:0回答:1

在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+'%'

转错了

怎么做到呢?如何在查询中连接字符串?

string postgresql nhibernate sql-like named-parameters
1个回答
1
投票

改变策略,保持目标。

使用position函数。

position(:param1::text in column) <> o
© www.soinside.com 2019 - 2024. All rights reserved.