我是靠谱客的博主 刻苦冬瓜,这篇文章主要介绍异常:mysql使用like搜索下划线"_",结果匹配了所有结果,现在分享给大家,希望可以做个参考。

MySQL> select * from t where x like ‘%_%’;

返回全部的记录,不是想要的结果!

为什么错误?

因为在like语句中的下划线的含义是“任意一个字符”,类似“%”代表匹配任意多个字符的。

4.正确的查询方法

能想到的有如下两种方法。

1)第一种方法使用escape转义

mysql> select * from t where x like ‘%_%’ escape ‘’;

返回包含有"_"的记录,正确

escape的内容可以任意,只要保证前后一致即可。

mysql> select * from t where x like ‘%|_%’ escape ‘|’;

返回包含有"_"的记录,正确

mysql> select * from t where x like ‘%_%’ escape '’;

返回包含有"_"的记录,正确

2)使用instr函数辅助判断

使用instr函数判断字段中是否包含“_”,如果包含返回值是非零的,如果不包含则返回值是零。

mysql> select * from t where instr(x,’_’)!=0;

最后

以上就是刻苦冬瓜最近收集整理的关于异常:mysql使用like搜索下划线"_",结果匹配了所有结果的全部内容,更多相关异常:mysql使用like搜索下划线"_"内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(117)

评论列表共有 0 条评论

立即
投稿
返回
顶部