【问题标题】:How to search double quotes in fulltext search in sql如何在sql全文搜索中搜索双引号
【发布时间】:2014-04-09 21:39:13
【问题描述】:

我的关键字中有双引号。如何在全文搜索查询中搜索此内容。 我有这个问题

SELECT  top 10 K.[KEY], 10, K.[RANK]
FROM    CONTAINSTABLE(ProductKeywords, Keywords, '("19*") AND ( "<Cat>5" OR "<Cat>30" OR "<Cat>398" ) AND NOT "<Blocked>"' ) AS k

它工作正常,但是当我的关键字中有双引号时

SELECT  top 10 K.[KEY], 10, K.[RANK]
FROM    CONTAINSTABLE(ProductKeywords, Keywords, '("19"*") AND ( "<Cat>5" OR "<Cat>30" OR "<Cat>398" ) AND NOT "<Blocked>"' ) AS k

它给出了这个错误

Msg 7630, Level 15, State 3, Line 1
Syntax error near '*' in the full-text search condition '("19"*") AND ( "<Cat>5" OR "<Cat>30" OR "<Cat>398" ) AND NOT "<Blocked>"'.

【问题讨论】:

  • 尝试用 \ 例如转义双引号'\"'

标签: sql sql-server-2012 full-text-search containstable


【解决方案1】:

要转义双引号,只需将它们加倍,例如

SELECT * FROM Tbl WHERE Contains(name, '""quoted""')

【讨论】:

    【解决方案2】:

    How do you escape double quotes inside a SQL fulltext 'contains' function?

    SELECT TOP 10
        K.[KEY]
      , 10
      , K.[RANK]
    FROM
        CONTAINSTABLE(ProductKeywords, Keywords, '("19*") AND ( "<Cat>5" OR "<Cat>30" OR "<Cat>398" ) AND NOT "<Blocked>"')
        AND Keywords LIKE '19"%'
        AS k
    

    【讨论】:

      猜你喜欢
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多