日常工作BUG集之SQL like的通配符"_"
Bug之like的通配符”_”
场景
(简化)需要写SQL脚本去查看日志,select的语句中的其中一个条件是某字段的值符合某种有规则/模式的字符串,然后对应的条件开始是类似这样写的 fllb_%_ye (目地是匹配fllb_xxx_ye, xxx任意的字符串)
现象
错识匹配到fllbywepye这类的字符串
原因
很明显,问题出在_这个字符,几乎不写SQL脚本的人应该只熟悉%这个通符串了吧!
反正我第一反应是没想起来。
解决
1.使用转义字符‘\’,明确是匹配”_”字符,而不是使用其通配的功能
2.以后类似或高阶一点的需求,考虑用SQL的正则表达式(REGEXP)