-2

再会,

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

示例 SQL 语句:

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

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

提前致谢 :)

4

2 回答 2

0

听起来您需要LIKE关键字:

SELECT univ_name FROM university WHERE univ_name LIKE '%University%;

%是一个通配符运算符,它将返回文本包含单词的列University

于 2013-06-23T13:40:40.357 回答
0

这会比你想象的要复杂一些。

让我们从 @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)

于 2013-06-23T14:16:14.383 回答