全文搜索 - 如何将声明的变量更改为短语
Full-Text Search - How to change the declared variable to a phrase
所以我正在对名字和姓氏进行 FTS(全文搜索),当我在其中任何一个中使用空格时就会出现问题。
所以我了解到在单引号内使用 ""
是有效的。但是我获取这些名称的方式是通过 select 语句,我不知道如何将其中包含名称的变量更改为短语
select @fName = FirstName, @lName = LastName from Person where ....
@fName
例如 John James 并且通过这样做 '"John James"'
它有效,但是我如何使用上面的语句来做到这一点?
所以我通过使用 Concat 解决了这个问题
select @LastNamePhrase = Concat('"',@LastName,'"')
print @LastNamePhrase
SELECT * FROM Person WHERE (CONTAINS((Surname), @LastNamePhrase))
所以用这个方法我可以做FTS(忽略打印)
您可以在 select 语句中简单地使用字符串连接:
select @fName = '"'+FirstName+'"', @lName = LastName from Person where ....
所以我正在对名字和姓氏进行 FTS(全文搜索),当我在其中任何一个中使用空格时就会出现问题。
所以我了解到在单引号内使用 ""
是有效的。但是我获取这些名称的方式是通过 select 语句,我不知道如何将其中包含名称的变量更改为短语
select @fName = FirstName, @lName = LastName from Person where ....
@fName
例如 John James 并且通过这样做 '"John James"'
它有效,但是我如何使用上面的语句来做到这一点?
所以我通过使用 Concat 解决了这个问题
select @LastNamePhrase = Concat('"',@LastName,'"')
print @LastNamePhrase
SELECT * FROM Person WHERE (CONTAINS((Surname), @LastNamePhrase))
所以用这个方法我可以做FTS(忽略打印)
您可以在 select 语句中简单地使用字符串连接:
select @fName = '"'+FirstName+'"', @lName = LastName from Person where ....