【发布时间】:2020-01-06 09:55:29
【问题描述】:
我正在尝试将 SQL CONTAINS 函数与变量一起使用。通常,我可以通过以下方式使用 CONTAINS:
WHERE CONTAINS(tablename, '"some text to search for"')
但是,我不知道如何在该函数中插入一个变量,以允许我使用多个单词进行搜索。
WHERE CONTAINS(tablename, @Keyword)
只允许搜索一个词,如果传递多个词将抛出异常。
消息 7630,级别 15,状态 3,过程 dbo.bp_SearchCategoryByKeyword, 第 11 行 [Batch Start Line 0] 全文中“this”附近的语法错误 搜索条件
【问题讨论】:
-
"如果传入多个单词会抛出异常" 异常是什么?
-
见stackoverflow.com/questions/16507239/…。您必须拆分输入并执行 JOIN 操作。
-
Msg 7630,Level 15,State 3,Procedure dbo.bp_SearchCategoryByKeyword,Line 11 [Batch Start Line 0] 全文搜索条件“Check this”中“this”附近的语法错误。跨度>
-
什么版本的 SQL Server?
-
那里接受的答案使用
WHILE, @KarelFrajták。即使在(完全不受支持的)SQL Server 2008 中,也有比拆分字符串更好的选项远。
标签: sql sql-server freetext