1

キーワードに二重引用符があります。全文検索クエリでこれを検索するにはどうすればよいですか。このクエリがあります

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>"'.
4

2 に答える 2

1

二重引用符をエスケープするには、たとえば、二重引用符を二重にするだけです

SELECT * FROM Tbl WHERE Contains(name, '""quoted""')
于 2016-04-11T13:59:34.100 に答える
0

SQLフルテキストの「含む」関数内で二重引用符をどのようにエスケープしますか?

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
于 2014-08-29T14:09:01.127 に答える