MySQL的模糊查询(like)
2016-07-01 10:42
465 查看
1. %:表示任意0个或多个字符。可匹配任意类型和长度的字符
1)
(1)select * from doctor_info where doctor_name like '%c%';
会把 doctor_info 表的 doctor_name 字段中有 c 的记录全部找出来
(2)select * from doctor_info where doctor_name like '云%';
会把 doctor_info 表的 doctor_name 字段中的 "云***" 记录全部找出来,但是不会找到 "赵云"
(3)select * from doctor_info where doctor_name like '%云';
会把 doctor_info 表的 doctor_name 字段中的 "****云"记录全部找出来,可以找到 "赵云"
(4)select * from doctor_info where doctor_name like '%c%' and email like '%e%';
会把 doctor_info 表的 doctor_name 字段中有 c 和 email 字段中有 e 的全找出来
2) _: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
(1)SELECT * FROM doctor_info WHERE doctor_name LIKE '_文_' ;
只找出“赵文武”这样doctor_name为三个字且中间一个字是“三”的;
SELECT * FROM doctor_info WHERE doctor_name LIKE '赵__' ;
只找出“赵文武”这样doctor_name为三个字且第一个字是“赵”的;
3)[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
(1) SELECT
* FROM doctor_info WHERE doctor_name LIKE '[赵张李王]文' ;
将找出“赵三”、"张三"、“李三”、“王三”(而不是“赵张李王三”);
SELECT * FROM doctor_info WHERE doctor_name LIKE '赵[1-9]' 将找出“赵1”、“赵2”、……、“赵9";
[
] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
4)
[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
SELECT
* FROM doctor_info WHERE doctor_name LIKE '[关张马黄]文' ;
将找出不姓"关"、"张"、"马"、"黄"的“赵文”、“孙文”等
SELECT
* FROM doctor_info WHERE doctor_name LIKE '赵[^1-4]';
将排除“赵1”到“赵4”,寻找“赵5”、“赵6”、……
1)
(1)select * from doctor_info where doctor_name like '%c%';
会把 doctor_info 表的 doctor_name 字段中有 c 的记录全部找出来
(2)select * from doctor_info where doctor_name like '云%';
会把 doctor_info 表的 doctor_name 字段中的 "云***" 记录全部找出来,但是不会找到 "赵云"
(3)select * from doctor_info where doctor_name like '%云';
会把 doctor_info 表的 doctor_name 字段中的 "****云"记录全部找出来,可以找到 "赵云"
(4)select * from doctor_info where doctor_name like '%c%' and email like '%e%';
会把 doctor_info 表的 doctor_name 字段中有 c 和 email 字段中有 e 的全找出来
2) _: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
(1)SELECT * FROM doctor_info WHERE doctor_name LIKE '_文_' ;
只找出“赵文武”这样doctor_name为三个字且中间一个字是“三”的;
SELECT * FROM doctor_info WHERE doctor_name LIKE '赵__' ;
只找出“赵文武”这样doctor_name为三个字且第一个字是“赵”的;
3)[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
(1) SELECT
* FROM doctor_info WHERE doctor_name LIKE '[赵张李王]文' ;
将找出“赵三”、"张三"、“李三”、“王三”(而不是“赵张李王三”);
SELECT * FROM doctor_info WHERE doctor_name LIKE '赵[1-9]' 将找出“赵1”、“赵2”、……、“赵9";
[
] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
4)
[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
SELECT
* FROM doctor_info WHERE doctor_name LIKE '[关张马黄]文' ;
将找出不姓"关"、"张"、"马"、"黄"的“赵文”、“孙文”等
SELECT
* FROM doctor_info WHERE doctor_name LIKE '赵[^1-4]';
将排除“赵1”到“赵4”,寻找“赵5”、“赵6”、……
相关文章推荐
- MySQL数据库字符集乱码逻辑关系图
- JDBC连接mySQL数据库
- [转]MySQL5.6新特性之Multi-Range Read
- mysql max_allowed_packet参数值改大后,莫名被还原
- DATE_FORMAT(EnterDate,'%h')的h的大小写
- mysql.user字段含义
- mysql命令行查看表结构,字段等信息 和 TRUNCATE TABLE
- Mysql 主从配置
- mysql处理海量数据时的一些优化查询速度方法
- [MYSQL]基础课程笔记3-浮点型
- mysql-游标
- mysql强力推荐启用binlog
- mysql 无法启动
- MySQL 密码增强插件
- mysql-变量
- 使用阿里云ECS自建RDS MySQL从库
- 干货:MySQL 索引原理及慢查询优化
- MySQL中的limit(分页查询)
- mysql数据库逆向生成pdm模型
- ElasticSearch同步MySql