再会,
我在搜索时遇到问题,比如说我想找到某所大学,例如无名大学,如果我搜索大学或无名大学,那么我会得到一些建议,包括无名大学,这很好。如果我搜索确切的措辞,那么我会得到确切的结果,但是如果我无处搜索大学,即没有“of”,那么我什么也得不到。
示例 SQL 语句:
SELECT univ_name FROM university WHERE INSTR(univ_name,'--keyword here--')
关于我的 sql 语句缺少什么的任何建议?
提前致谢 :)
听起来您需要LIKE
关键字:
SELECT univ_name FROM university WHERE univ_name LIKE '%University%;
%
是一个通配符运算符,它将返回文本包含单词的列University
这会比你想象的要复杂一些。
让我们从 @searchTerm varchar(max) 开始
您需要做的是通过在空间上拆分 @searchTerm 并将其构建为如下所示来动态构建您的 where 子句:
where univ_name like '%term0%' AND univ_Name like '%term1%'
有关在 sql拆分字符串中拆分字符串的一般策略,请参阅此问题
您将其存储在 varchar(max) 中,比如说@sql
然后设置@sql = ''select * from university ' + @sql
终于跑了EXEC (@sql)