用于搜索时显示结果的SQL语句

时间:2013-06-23 13:38:03

标签: sql search

美好的一天,

我在搜索时遇到问题,比如我想找一所大学,比如说 无处不在,如果我搜索大学无处那么我会得到一些建议,包括无处不在的大学这是好的。如果我搜索确切的措辞然后我得到确切的结果,如果我搜索大学无处,即没有“of”,那么我什么都没得到。

示例SQL语句:

SELECT univ_name FROM university WHERE INSTR(univ_name,'--keyword here--')

关于我的sql语句缺少什么的任何建议?

提前致谢:)

2 个答案:

答案 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)