症状:
有表action_conf。 数据如下。
如果想获取以exp_site_10_开头的en_name的记录,该如何写sql语句?
so easy!
select en _ name from action _ confwhereen _ name like ' exp _ site _ 10 _ % '
如果您自信地在idb上运行此sql,就会发现结果并不理想。
运行上面的sql将列出以exp_site_10开头的所有记录。
原因:
其实,这都是sql通配符的错。 在sql中,下划线_是通配符,与任意一个字符匹配。
如果知道原因,修改sql很容易。 正确的sql如下:
select en _ name from action _ confwhereen _ name like ' exp _ site _ 10 _ % '
如果在通配符之前添加跳转字符,mysql会将通配符视为普通字符。
高级:
通配符整理:
%将替换一个或多个字符
_只替换一个字符
[charlist]字符串中的任意一个字符
[^charlist]或[! 字符串中没有charlist]的单个字符
感兴趣的文章:mysql正则表达式LIKE通配符mysql复制过滤重复解决方法MySql like黑色查询通配符python实现mysql的单引号字符串过滤方法在python中与mysql接触fetchall (方法特殊字符过滤使用MYSQL正则表达式过滤数据MYSQL是, 读书笔记第1章(基础) MYSQL一定要变更读书笔记第2章的版本MYSQL一定要变更读书笔记第3章的显示数据库MYSQL一定要读书笔记第4章的检索数据MYSQL一定要变更读书笔记第5章的排序检索数据MYSQL