这个问题是我原来的问题的结果,我认为这并不完全是我想要的:SQL 搜索列,其中列中的一项是另一项的子字符串 https://stackoverflow.com/questions/25628400/sql-search-column-where-one-item-in-column-is-substring-of-another-item
有没有办法让sql语句搜索具有多个项目的列字符串是否包含某个项目,该项目是同一字符串中另一个项目的子字符串,并且也可能或可能不会包含另一个项目是其子串的某个项目。以下是我当前使用的sql语句。
select * from tbltest where platform like '%item%'
platform 是字符串中可以包含多个项目的列字符串。 Item 是我在平台字符串中搜索的特定项目。
以下是我所描述的内容和我正在搜索的项目的示例。要在字符串中搜索的项目(这些项目位于下拉列表中供用户选择)。请注意,ASP 将被视为 ASP.NET 的子字符串,如果用户选择在项目的列字符串中搜索 ASP,则返回的记录还将包括基于我上面编写的 sql 语句的 ASP.NET 项目。
ASP
ASP.NET
PHP
HTML
J2EE
那么有没有一种方法可以在 SQL 语句的 where 部分中添加一条语句,该语句将执行我上面描述的操作,或者具体来说,根据上面的示例,搜索 ASP 项目(如果 ASP.NET 也在字符串中) ?以下是一些可能的平台字符串组合的示例。
1)
ASP
ASP.NET
HTML
2)
ASP
PHP
3)
网络平台
HTML
J2EE
4)
ASP
5)
网络平台
6)
PHP
如果我要在以前的平台组合中搜索 ASP,它应该返回记录 1、2 和 4。如果我要搜索 ASP.NET,它应该返回记录 1、3 和 5。如果我要搜索对于 PHP,它应该返回记录 2 和 6。上面平台字符串的格式与显示的完全相同,如果字符串中存在多个项目,则用换行符分隔项目。
您应该能够搜索您的术语以及换行符以找到您要查找的内容。
select *
from tbltest
where platform like '%' + item + CHAR(13) + CHAR(10) + '%'
or platform like '%' + item
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)