【问题标题】:CF11 QoQ search for a square bracket characterCF11 QoQ 搜索方括号字符
【发布时间】:2016-01-29 15:55:56
【问题描述】:

在 ColdFusion 11 应用程序中,我有一个查询对象,其中包含包含左方括号字符的字符串 - [。我需要能够对该查询对象进行查询查询 (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>

任何建议将不胜感激。谢谢。

【问题讨论】:

标签: coldfusion coldfusion-11


【解决方案1】:

你很亲密。使用 gfrobenius 发布的链接,您会得到:

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

【讨论】:

  • 感谢 beloitdavisja。我看过 gfrobenius 发布的页面。我可能应该仔细看看它。您发布的代码确实找到了我的带有左括号的记录,但它也找到了不包含左括号的记录 - 看起来它也找到了包含文字下划线字符的记录。所以还是有些地方不太对劲。
  • 我成功测试了这个答案,只使用了一个查询参数。同样使用查询参数,我使用问题中的代码得到了类似的结果。
  • 在我的测试中,代码似乎也在查找包含文字下划线字符的记录。让我用 cfQueryParam 试试 ti,看看是否有帮助。
  • 我想我明白了。以某种方式删除下划线并用空格替换它是正确的……QoQ 有时很奇怪。我已经更新了答案。
  • 是的,即使使用 cfQueryParam,我仍然得到包含下划线和左括号的记录。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 2020-08-22
  • 2011-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多