模糊查询like和not like

本文介绍了SQLLIKE语句及其通配符(%和_)的应用,给出查询示例并指出notlike的限制,特别强调了百分号匹配0个字符和下划线限于单字符的常见误解。

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

 概要

        本文简单介绍SQL中LIKE、NOT LIKE模糊查询语句的使用以及常见注意事项。

通配符

LIKE、NOT LIKE语句可以使用两个通配符“%”和“_”:

  • 百分号(%):可以匹配任意长度(0至多个字符)的字符;
  • 下划线(_):可以匹配且只能匹配单个字符;

使用示例

下面用user_info表举例:

示例1

查询所有名字中带“三”的用户:

select * from user_info t where t.name like '%三%'

示例2

查询所有姓张的用户:

select * from user_info t where t.name like '张%'

示例3

查询所有姓张的且名字只有一个字用户:

select * from user_info t where t.name like '张_'

示例4

查询所有名字中不带“三”的用户:

select * from user_info t where t.name not like '%三%'

 总结

使用LIKE、NOT LIKE模糊查询语句有两个比较容易出错的地方需要注意:

  1. 百分号(%)可以匹配0个字符,一个下划线(_)只能匹配一个字符;
  2. NOT LIKE不能查询空,例4中,名字中不带“三”的用户其实有两个:李四和一个没有名字的用户,想要全部查出来应该加个or name is null;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值