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

时间:2012-07-18 11:42:26

标签: string postgresql nhibernate sql-like named-parameters

在Spring + Hibernate app中尝试使用命名参数pasend query应该将保存在数据库中的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+'%'

错误

怎么做?如何在查询中连接stings?

1 个答案:

答案 0 :(得分:1)

改变策略,保持目标。

使用position功能。

position(:param1::text in column) <> o