SQL搜索列,其中列中的一个项是另一个项的子串Update

时间:2014-09-09 14:24:34

标签: sql

这个问题是我原来的问题的结果,我认为这不是我想要的:SQL search column where one item in column is substring of another item

是否有一种方法可以让sql语句搜索具有多个项目的列字符串是否包含某个项目,该项目是同一字符串中另一项目的子字符串,而也可能<或不包括包括一个项目,另一个项目是子串。以下是我正在使用的当前sql语句。

从tbltest中选择*,其中平台如'%item%'

platform是可以在字符串中包含多个项目的列字符串。 Item是我在平台字符串中搜索的特定项目。

以下是我所描述的内容以及我要搜索的项目的示例。要在字符串中搜索的项目(这些项目位于下拉列表中供用户选择)。请注意,ASP将被视为ASP.NET的子字符串,如果用户选择在项目的列字符串中搜索ASP,则返回的记录还将包括基于我上面写的sql语句的ASP.NET项目。 / p>

ASP
ASP.NET
PHP
HTML
J2EE

那么有没有办法在SQL语句的where部分添加一个语句,该语句可以执行我上面描述的内容,或者具体地,基于上面的示例,如果ASP.NET也在,那么搜索ASP项字符串与否?以下是一些可能的平台字符串组合的示例。

1) ASP
ASP.NET
HTML

2) ASP
PHP

3) ASP.NET
HTML
J2EE

4) ASP

5) ASP.NET

6) PHP

如果我要在以前的平台组合中搜索ASP,它应该返回记录1,2和4.如果我要搜索ASP.NET,它应该返回记录1,3和5.如果我是要搜索PHP,它应该返回记录2和6.如果字符串中有多个项目,则上面的平台字符串格式与分隔项目的换行符完全一致。

1 个答案:

答案 0 :(得分:0)

您应该能够搜索您的字词以及换行符,以找到您要查找的内容。

select * 
from tbltest 
where platform like '%' + item + CHAR(13) + CHAR(10) + '%'
or platform like '%' + item