我是靠谱客的博主 刻苦冬瓜,最近开发中收集的这篇文章主要介绍异常: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搜索下划线"_",结果匹配了所有结果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部