2016-01-29 70 views
1

在ColdFusion 11應用程序中,我有一個查詢對象,其中包含包含開頭方括號字符 - [的字符串。我需要能夠對查詢對象進行查詢(QoQ)查詢來查找包含[字符的任何記錄,但我似乎無法找到逃避它的方法。CF11 QoQ搜索方括號字符

我發現的最佳建議 - LIKE '%[[]%' - 不會返回任何結果。

此代碼返回的錯誤信息:

<cfquery name="temp" dbType="query"> 
SELECT * 
FROM myQuery 
WHERE myField LIKE '%[%' 
</cfquery> 

此代碼也返回一條錯誤消息:

<cfquery name="temp" dbType="query"> 
SELECT * 
FROM myQuery 
WHERE myField LIKE '%\[%' ESCAPE '\' 
</cfquery> 

而這個代碼不返回任何記錄可言,即使我知道這個角色是有:

<cfquery name="temp" dbType="query"> 
SELECT * 
FROM myQuery 
WHERE myField LIKE '%[[]%' 
</cfquery> 

任何意見將不勝感激。謝謝。

+0

http://stackoverflow.com/a/21999934/3112803 – gfrobenius

回答

4

你就近了。使用gfrobenius發佈的鏈接,你會得到:

<cfquery name="temp" dbType="query"> 
SELECT * 
FROM myQuery 
WHERE myField LIKE '%[\[ ]%' 
</cfquery> 
+0

謝謝beloitdavisja。我曾看過gfrobenius發佈的頁面。我應該仔細看看它。您發佈的代碼的確找到了帶有開放括號的記錄,但它也找到了不包含開放括號的記錄 - 它看起來像還查找包含文字下劃線字符的記錄。所以有些事情還不完全正確。 –

+0

我成功地測試了這個答案,只有一個查詢參數。還有查詢參數,我使用問題中的代碼得到了類似的結果。 –

+0

在我的測試中,它看起來像代碼也在查找包含文字下劃線字符的記錄。讓我用cfQueryParam試試ti,看看是否有幫助。 –