7.MySQL必知必会之用通配符进行过滤-like

本文介绍了SQL中使用LIKE操作符配合通配符(%和_)进行数据过滤的方法。详细解释了百分号(%)匹配任意数量字符的用法及下划线(_)匹配单个字符的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用通配符进行过滤-like

1. like操作符

先说两个概念:

? 通配符(widcard) 用来匹配值的一部分的特殊字符。

? 搜索模式 由字面值、通配符或两者结合构成的搜索条件。

通配符本身实际是SQL的WHERE子句中有特殊含义的字符,SQL支持集中通配符。

使用统配符条件就是必须要加上LIKE操作符。

LIKE指示MYSQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。

LIKE相似的,那么它在搜索子句中的使用比(=)就更加包容,不用全部都相同,相似即可,相似到什么程度呢??

image

来看看下面给出的条件吧!!

1.1 百分号(%)通配符

最常使用的通配符是百分号(%)。在搜索串中,% 表示任何字符出现任意次数。

image

例如:找出所有词以jet起头的产品,可以使用以下SELECT语句:

输入:

    SELECT  prod_id  ,prod_name
    FROM     products
    WHERE prod_Name LIKE  'jet%'

输出:
image
分析:

此例子使用了搜索模式'jet%'.在执行这条子句时,将检索任意以jet起头的词。%告诉MySQL接受jet之后的任意字符,不管它有多少字符。

通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符。

例如:%anvil%

搜索模式%anvil%表示匹配任何位置包含文本anvil的值,而不论它之前或者之后出现什么字符。

s%e:找到一s起头以e结尾的数据

⚠️ 除了一个或多个字符外,%还能匹配0个字符。%代表搜索模式中给定位置的0个、1个或者多个字符。

==注意==:通配符不能匹配NULL

1.2 下划线(_)通配符

下划线通配符的用途与%一样,但是下划线只匹配单个字符而不是多个字符。

输入:

SELECT prod_id , prod_name
FROM   products
WHERE  prod_name LIKE  ' _ ton anvil'

输出
image

分析: (_)通配符并没有把所有的 ton anvil的取出来
但是使用%通配符确可以

输入:

SELECT prod_id , prod_name
FROM   products
WHERE  prod_name LIKE  ' % ton anvil'

输出:
image

因为与%能匹配0个字符不一样,_ 总是匹配一个字符,不能多也不能少。

1.3 使用通配符的技巧
  1. 不要过度使用通配符,因为它比其他搜索花费更多时间。

  2. 确实需要使用时,不要把他们放在搜索模式开始处,因为这样是最慢的。

  3. 仔细注意通配符的位置。如果放错地方,可能不能返回想要的数据。

转载于:https://www.cnblogs.com/chenshufang/p/9282867.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值