Sta*_*low 2 sql t-sql sql-server
我想做这样的事情,即在in子句中使用通配符:
SELECT * FROM mytable WHERE keywords IN ('%test%', '%testing%')
Run Code Online (Sandbox Code Playgroud)
这在SQL Server中不受支持....是否有其他方法可以实现它...
寻找以下的东西:
SELECT * FROM mytable WHERE keywords like '%test%' or keywords like '%testing%' or.....
Run Code Online (Sandbox Code Playgroud)
不,只有我能想到的其他方式是加入临时表,但是你必须消除重复的行.
你的这个查询是非常低效的,因为它将无条件地进行表扫描.也许您应该考虑分离关键字或引入全文索引.
如果您想研究全文搜索,那么当您评估Sql Server全文解决方案时,我建议您查看一些重量级的重量,如sphinx或lucene.