用于在搜索时显示结果的SQL语句
你好 我在搜索时遇到了一个问题,比如说我想找一所大学,比如, 无处大学,如果我搜索<强>大学>强>>无处< /强>,我会得到一些建议,包括<强>无处大学>强>这是好的。如果我搜索确切的措辞,那么我会得到确切的结果,但是如果我搜索没有大学的地方,即没有“of”,那么我什么也得不到 SQL语句示例:用于在搜索时显示结果的SQL语句,sql,search,Sql,Search,你好 我在搜索时遇到了一个问题,比如说我想找一所大学,比如, 无处大学,如果我搜索大学>强>>无处< /强>,我会得到一些建议,包括无处大学>强>这是好的。如果我搜索确切的措辞,那么我会得到确切的结果,但是如果我搜索没有大学的地方,即没有“of”,那么我什么也得不到 SQL语句示例: SELECT univ_name FROM university WHERE INSTR(univ_name,'--keyword here--') 关于我的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(最大值)开始
您需要做的是动态构建where子句,方法是在空格上拆分@searchTerm并将其构建为如下所示:
其中大学名称如“%term0%”和大学名称如“%term1%”
有关在sql中拆分字符串的一般策略,请参阅此问题
您将其存储在varchar(max)中,比如@sql
然后设置@sql=''select*from university'+@sql
最后运行
EXEC(@sql)
您的问题是什么?很抱歉,我现在添加了这个问题..答案可能有助于OP动态地用这个字符替换原始字符串中的任何空格…您的数据是否将其存储为University
或University
?可能会区分大小写。嗯。。我认为它不区分大小写,因为当我尝试只搜索关键字“university”时,无论结果是大写还是小写,它都会正确显示结果。。但当我尝试“无处可上大学”时,却没有结果。。