使用LIKE搜索SQL

时间:2020-07-14 02:22:32

标签: sql database

我有一个如下的SQL查询。

select *
from table 
where content like '%' + search_content + '%' 

如果search_content = 'JAVA',它将返回包含xxxJAVAxxx的数据,这是可以的。

但是如果我的search_content = 'JAVA ABC XYZ'不在返回包含xxxJAVAxxx的数据。我不想这样。

如何处理这种情况?

1 个答案:

答案 0 :(得分:0)

考虑您的示例,您可以添加 OR 条件以涵盖所有情况:内容包含,以所需字符串开头或结尾。

select *
from table 
where (content like '%JAVA%' or content like 'JAVA%' or content like '%JAVA')

更优雅的方式(假设您使用postgres)

select *
from table
where position('JAVA' in content) > 0

它是做什么的?它找到可以在内容中找到“ JAVA”子字符串的位置。如果子字符串存在,则正数大于0。

您可以在SQL Server中找到等效功能。

select *
from table
where CHARINDEX('JAVA', content) > 0
相关问题