前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL怎么实现模糊查询[通俗易懂]

SQL怎么实现模糊查询[通俗易懂]

作者头像
全栈程序员站长
发布2022-08-23 19:28:10
9540
发布2022-08-23 19:28:10
举报

大家好,又见面了,我是你们的朋友全栈君。

模糊查询的语句一般如下:

代码语言:javascript
复制
SELECT 字段 FROM 表 WHERE 某字段 LIKE 条件;

关于条件部分,有以下匹配模式:

1. %:表示零个或多个字符。

可以匹配任意类型和任意长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

代码语言:javascript
复制
select * from user where username like '%张%';

将会把user这张表里面,列名username中含有的记录全部查询出来。

如果需要找到user这张表里面,字段username中既有,又有的记录,可以使用and条件:

代码语言:javascript
复制
select * from user where username like '%张%' and username like '%李%';

可以查询出来所有包含的所有内容,所在的前后位置无所谓

代码语言:javascript
复制
select * from user where username like '%李%张%';

查出来包含李张的内容,但是查不出来张李的内容。

2. _:表示任意单个字符

匹配单个任意字符,它常用来限制表达式的字符长度。

代码语言:javascript
复制
select * from user where username like '_小_';

只能找到张小明这样username为三个字且中间一个字是的内容。

代码语言:javascript
复制
select * from user where username like '小__';

只能找到小坏蛋这样username为三个字且第一个字是的内容。

3. []:表示括号内所列字符中的一个(类似正则表达式)。

指定一个字符、字符串或范围,要求所匹配的对象为他们中的任一个

[]内有一系列字符(01234,abcde之类的)则可略写为0-4a-e

代码语言:javascript
复制
select * from user where username like '老[0-9]';

将找出“老1”、“老2”、……、“老9”

4. [^]:表示不在括号所列之内的单个字符。

其取值和[]相同,但它所要求匹配对象为指定字符以外的任一个字符。

代码语言:javascript
复制
select * from user where username LIKE'[^李王秦]飞';

将找出不是“李飞” "王飞”“秦飞“,而是"张飞"等。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139425.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. %:表示零个或多个字符。
  • 2. _:表示任意单个字符
  • 3. []:表示括号内所列字符中的一个(类似正则表达式)。
  • 4. [^]:表示不在括号所列之内的单个字符。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档