小编典典

SQL搜索列,其中列中的一项是另一项的子字符串

sql

有没有一种方法可以使sql语句搜索包含多个项目的列字符串是否包含某个项目,但不包括作为子字符串的某个项目。以下是我正在使用的当前sql语句。

select * from tbltest where platform like '%item%'

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

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

ASP
ASP.NET
PHP
HTML
J2EE

那么,有没有一种方法可以在SQL语句的where部分添加一条语句,该语句将执行我上面所述的操作,或者基于上面的示例,特别是在不返回ASP.NET项的情况下,根据上面的示例进行搜索?

更新:解决方案还可以解决列字符串同时包含ASP和ASP.NET的情况吗?

更新2:这是对我正在寻找的更好的描述。谢谢。
SQL搜索列,其中列中的一项是另一项的子字符串更新


阅读 152

收藏
2021-04-07

共1个答案

小编典典

如果您希望某个项目周围有空格,则可以将其添加到列表的两边以及您的用语:

select * 
from tbltest 
where ' '+platform+' ' like '% item %'

理想情况下,数据不存储在列表中,因为这种搜索将不会非常有效。

2021-04-07