我有這樣的轉義特殊字符與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