【问题标题】:Forbidden characters inside CONTAINS (Transact-SQL) statementCONTAINS (Transact-SQL) 语句中的禁止字符
【发布时间】:2014-06-14 22:41:19
【问题描述】:

我想知道哪些字符不能插入到CONTAINS 语句中。

例如,假设我的数据库中有一个名为“Jon Snow”的条目。

运行这个查询我正确地得到了结果。

select name
from Userstable
where CONTAINS((name),'JON AND SNOW')

跑步

select name
from Userstable
where CONTAINS((name),'JO*N AND SNOW')

我得到 0 个结果(但没有错误,所以没关系)。

相反,运行例如

select name
from Userstable
where CONTAINS((name),'J[ON AND SNOW')

我收到语法错误。 哪些字符会导致我出现语法错误?

到目前为止我发现:

[
]
!
,

谢谢

【问题讨论】:

  • 只需使用引号来结束您想要的短语 - 即 '"J[ON" AND "SNOW"' 很好,'"J*ON" AND "SNOW"' 也可以。在我的头顶上,您还必须担心 ( , ) 和 ~。
  • 我需要找到所有禁止的字符来删除它们,从而避免 SQL 语法错误和返回结果(因为我删除了“错误”字符)。

标签: sql-server tsql contains


【解决方案1】:

我想我找到了所有的禁用字符。

,
'
"
~
(
)
[
]
!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2013-09-22
    相关资源
    最近更新 更多