Coldfusion CF11方括号字符的QoQ搜索

Coldfusion CF11方括号字符的QoQ搜索,coldfusion,coldfusion-11,Coldfusion,Coldfusion 11,在ColdFusion 11应用程序中,我有一个查询对象,其中包含一个包含方括号开头字符-[]的字符串。我需要能够对该查询对象执行查询QoQ搜索,以查找包含[字符的任何记录,但我似乎找不到一种方法来转义它 我发现的最佳建议(如“%[[]%”)不会返回任何结果 此代码返回一条错误消息: <cfquery name="temp" dbType="query"> SELECT * FROM myQuery WHERE myField LIKE '%[%' </cfquery&g

在ColdFusion 11应用程序中,我有一个查询对象,其中包含一个包含方括号开头字符-[]的字符串。我需要能够对该查询对象执行查询QoQ搜索,以查找包含[字符的任何记录,但我似乎找不到一种方法来转义它

我发现的最佳建议(如“%[[]%”)不会返回任何结果

此代码返回一条错误消息:

<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>
<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>

如果您有任何建议,我们将不胜感激。谢谢。

您很接近。使用gfrobenius发布的链接,您可以获得以下信息:

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

你很接近。使用gfrobenius发布的链接,你可以得到:

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

谢谢beloitdavisja。我已经看到了gfrobenius发布的页面。我可能应该仔细查看一下。您发布的代码确实找到了我的带开括号的记录,但它也找到了不包含开括号的记录-看起来它还找到了包含文字下划线字符的记录。所以有一些东西仍然不完全正确。我成功地测试了这个答案,只使用了一个查询参数。同样使用查询参数,我使用问题中的代码得到了类似的结果。在我的测试中,代码似乎也在查找包含文字下划线字符的记录。让我用cfQueryParam尝试ti,看看是否有帮助。我想我得到了。Remo使用下划线并替换为空格不知何故是正确的…QoQ有时很奇怪。我已经更新了答案。是的,即使使用cfQueryParam,我仍然会得到包含下划线和开括号的记录。谢谢BeliotDavisja。我已经看到了gfrobenius发布的页面。我可能应该仔细看看。您发布的代码确实找到了我的带开括号的记录,但它也找到了不包含开括号的记录-看起来它也找到了包含文字下划线字符的记录。因此仍然有一些不太正确的地方。我成功地测试了这个答案,只使用了一个查询参数。同样,使用查询参数,我得到了使用问题中的代码得到了类似的结果。在我的测试中,代码似乎也在查找包含文字下划线字符的记录。让我用cfQueryParam尝试ti,看看是否有帮助。我想我找到了。删除下划线并替换为空格不知何故是正确的…QoQ有时很奇怪。我更新了answer、 是的,即使使用cfQueryParam,我仍然会得到包含下划线和开括号的记录。