https://www.cnblogs.com/poloyy/category/1683347.html
前言
- like应该是最常用的查询条件了
- 必须滴掌握!
like的语法格式
LIKE '字符串' NOT '
确认测试表里有什么数据,方便后面的栗子做对比
% 通配符查询的栗子
查询username字段包含test的记录
select * from yyTest where username like "%test%";
查询username字段开头不为test且department字段等于seewo的记录
not like "test%" and department = "seewo";
知识点
匹配的字符串必须加单引号或双引号 %"
_ 通配符查询的栗子
- _ 只能代表单个字符,字符的长度不能等于0,即字符长度必须等于1;相对于 % 来说, _ 肯定没这么常用
- 比如: a_b 可以代表 acb、adb、aub 等字符串
查询username字段test开头且后面只跟一个字符结尾的记录
like "test_";
like 区分大小写的栗子
- 默认情况下,like匹配的字符串是不区分大小写的; like "test1" 和 like "TEST1" 匹配的结果是一样的
- 如果需要区分大小写,需要加入 binary 关键字
不会返回任何记录,test1和test2不会被匹配到
like binary "TEST_";
使用转义符的栗子
转义符+通配符联合使用的栗子
%\%"
使用通配符的注意点
- 注意大小写:不加binary关键字的话,大小写是不敏感的
- 注意头部、尾部多余的空格: " test% " 是不会匹配到“test1”的
- 注意NULL:通配符是不能匹配到字段为NULL的记录的
- 不要过度使用通配符:因为MysqL对通配符的处理速度会比其他操作花费更长的时间
- 在确定使用通配符后:除非绝对有必要,否则不要把它们用在字符串的开始处,把通配符置于搜索模式的开始处,搜索起来是最慢的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。