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