like用法--mysql

本文介绍了在SQL中如何使用LIKE操作符配合百分号(%)和下划线(_)进行模糊匹配查询。例如,%2%匹配包含2的任何字符串,而_2_则匹配中间为2的任何三个字符的字符串。LIKE还可以与NOT结合,排除特定模式的数据。

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

like用法

 like 搭配      ‘%’   或者   ’_’  使用 

select *from table where column like '%x%'
select *from table where column not like '%x%'
或
select *from table where column like '_x_'
select *from table where column not like '_x_'

% :代表0个或多个字符

_ : 代表 一个字符


假设下表名为:cool

Id

name

1

123

2

321

3

132


一、搭配  %  使用

 使用上述表:cool为例

select *from cool where name like '%2%'

查询结果:

1 123

2 321

3 132

此时相当于前后均有通配符,%,此时可以进行匹配


select *from cool where name like '2%'

查询结果为


select *from cool where name like '%2'

查询结果:

132


二、搭配  _  使用

select *from coo lwhere name like '_2_'

查询结果:

1 123

2 321

3 132


select *from coo lwhere name like '_2'

查询结果:


select *from coo lwhere name like '2_'

查询结果:


select *from coo lwhere name like '__3'

查询结果:

1 123


小结

        like经常用法:结合通配符,进行模糊匹配查询;同时也可以使用not 筛掉相关数据;同时,还存在一些通配符此处不进行补充;

03-08
### SQL LIKE 运算符概述 SQL `LIKE` 运算符是一种强大的工具,专门用于执行基于模式的数据匹配和模糊查询操作。此运算符通常与 `SELECT` 语句一起使用来过滤记录,其基本语法结构如下: ```sql SELECT column1, column2, ... FROM table_name WHERE columnN LIKE pattern; ``` 通过上述命令可以在特定列中寻找符合给定模式的条目[^1]。 ### 使用通配符增强灵活性 为了增加搜索条件的弹性,`LIKE` 支持四种主要类型的通配符:百分号 `%`, 下划线 `_`, 方括号内的字符集 `[char_list]` 和否定前缀 `[^]`。这些符号允许创建更复杂的查询逻辑以适应不同需求[^3]。 #### 百分号 `%` 代表任意数量(包括零个)字符的存在与否。例如,想要找到所有姓氏以字母"A"开头的客户,则可编写如下查询: ```sql SELECT * FROM Customers WHERE CustomerName LIKE 'A%'; ``` 这会返回任何名字起始于“A”的顾客信息[^4]。 #### 下划线 `_` 表示单个未知字符的位置。如果目标是从员工表里找出职位名称恰好由六个字母组成的职员名单,那么应该这样写: ```sql SELECT * FROM Employees WHERE JobTitle LIKE '______'; ``` 这里假设下划线的数量正好对应所需长度[^2]。 #### 字符集合 `[char_list]` 及 否定形式 `[^char_list]` 前者用来限定某个位置上的可能值范围;后者则是排除某些不希望出现的结果。比如,在产品目录中检索既不是红色也不是蓝色的商品类别编号,就可以这样做: ```sql SELECT CategoryID FROM Products WHERE Color NOT LIKE '[RB]%' AND Color NOT LIKE ''; ``` 注意这里的方括号内包含了两个大写字母R(红)B(蓝),而后面的百分号意味着后面还可以跟随其他任意数目的字符。 ### 实际应用场景举例 考虑这样一个实际案例——在一个名为Customers的大规模关系型数据库表格里面定位那些电子邮件地址中含有"@example.com"结尾的所有联系人资料。此时应当采用以下方式构建查询表达式: ```sql SELECT ContactEmail FROM Customers WHERE ContactEmail LIKE '%@example.com'; ``` 这段代码将会精确命中并提取出满足该邮件域格式的所有记录项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木木子!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值