SQL - 使用通配符对数据进行过滤

1、百分号(%)通配符

当我们需要做一个搜索功能的时候,往往会使用到百分号通配符,%表示任何字符出现任意次数;例如,我们需要搜索Mos开头的字段,可以使用以下语句:

select * 
from mostimes
where name like 'Mos%'

如果我们需要锁定首尾的字符,来匹配中间的字符:

select *
from mostimes
where name like 'M%s'

我们还可以匹配任何位置包含Mos的字段,我们可以使用以下语句进行查询:

select
from mostimes
where name like '%Mos%'

注:

  • 重要的是要注意到,除了一个或多个字符外,%还能匹配0个字符。%代表搜索模式中给定位置的0个、1个或多个字符。
  • mysql默认不区分大小写的,所以mos也会匹配

2、下划线(_)通配符

下划线通配符与百分比通配符功能基本一致,最大的不同就是下划线通配符只匹配单个字符,而不是匹配多个字符。
例如:

select *
from mostimes
where like '_os'
//这条语句表示只能匹配第2和第3个字符为'os'的字段

注意:不要滥用通配符,通配符位于开头处匹配会非常慢。

你可能感兴趣的:(数据库,sql,mysql,数据库)