我有这样的转义特殊字符与FTS
Query query = session.createQuery("select object from EntityObject object where lower(object.columnName) like lower (E'%\\(test\\)%')");
和
Query query = session.createQuery("select object from EntityObject object where fts('english',contact.searchColumn,'testing (test)') = true;
我试图逃跑与反斜杠搜索文本的特殊字符和查询Hibernate的选择查询我在开启状态下使用了带有standard_conforming_strings的postgres 8.3。通过使用“E”我得到错误的
unexpected token: '%\(test\)%' near line 1 for the first case
并获得以下错误了下情况
ERROR: syntax error in tsquery: "testing (test)"
请帮我解决这个问题。我的意图是用反斜杠来转义特殊字符,特别是括号“()”。
为什么有一个“E”你喜欢子句单引号外面? – aksappy 2013-04-30 06:13:43
我试图转义特殊字符,因为它在这里指定http://www.postgresql.org/docs/current/interactive/runtime-config-compatible.html#GUC-STANDARD-CONFORMING-STRINGS “Escape string syntax should be如果应用程序希望将反斜杠视为转义字符,则可以使用它。“ – Dhivya 2013-04-30 07:30:59
您是否尝试使用限制? – aksappy 2013-04-30 09:35:57