尝试执行一个小型存储过程,而无需为此添加自由文本索引 (SQL Server 2008)
基本上,我想查找某个字段包含参数中所有单词的所有记录。
因此,如果在该字段中我有“这是一个测试字段”,并且我的 SP 的参数将是“此测试字段”,它将返回它,就像参数是“此测试字段”时一样。
表很小(4000条记录),负载会很低,所以效率没什么大不了的。现在我能想到的唯一解决方案是用表值函数拆分两个字符串,然后从那里开始。
还有更简单的想法吗?
谢谢!
最佳答案
如果效率不是一个大问题,为什么不使用一些动态 SQL。类似于:
create procedure myproc (@var varchar(100))
as
set @var = '%' + replace(@var, ' ', '%') + '%'
exec ('select * from mytable where myfield like '''+ @var + '''')
关于sql-server - 搜索包含另一个字符串中的所有单词的 varchar 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4215902/