mysql 中文模糊查询_解决mysql中文模糊查询问题的方法
mysql进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,却没有a字符存在。
通过阅读MySQL的Manual,发现了一种可以满意解决此问题的方法。
希望通过“标题”对新闻库进行检索,关键字可能包含是中英文,如下SQL语句:
复制代码 代码如下:
select id,title,name from achech_com.news where title like '%a%'
返回的结果,某些title字段确定带了“a”关键字,而有些则只有中文,但也随之返回在检索结果中。
解决方法,使用 BINARY 属性进行检索,如:
复制代码 代码如下:
select id,title,name from achech_com.news where binary title like '%a%'
返回的结果较之前正确,但英文字母区分大小写,故有时在检索如“Achech”及“achech”的结果是不一样的。知道了使用 BINARY 属性可以解决前面这个问题,再看看 MySQL 支持的UCASE 及 CONCAT 函数,其中 UCASE 是将英文全部转成大写,而CONCAT函数的作用是对字符进行连接,以下是完全解决后的SQL 语句:
复制代码 代码如下:
select id,title,name from achech_com.news
where binary ucase(title) like concat('%',ucase('a'),'%')
检索的步骤是先将属性指定为 BINARY ,以精确检索结果,而被 like 的 title内容存在大小写字母的可能,故先使用 ucase 函数将字段内容全部转换成大写字母,然后再进行 like 操作,而 like 的操作使用模糊方法,使用 concat的好处是传进来的可以是直接的关键字,不需要带“%”万用符,将“'a'”直接换成你的变量,在任何语言下都万事无忧了。 当然你也可以这么写:
复制代码 代码如下:
select id,title,name from achech_com.news where binary ucase(title) like ucase('%a%')
检索的结果还可以,不过速度可能会因此而慢N毫秒。
mysql 中文模糊查询_解决mysql中文模糊查询问题的方法相关推荐
- mysql占用多少内存_解决mySQL占用内存超大问题
解决mySQL占用内存超大问题 解决mySQL占用内存超大问题 为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见 ...
- mysql 4 中文模糊查询_解决MySQL中文模糊查询问题
解决MySQL中文模糊查询问题: 我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找 "%a%" 时,返回的可能有中文字符,却没有 a 字符存在.对于此 ...
- mysql中文模糊查询_解决MySQL中文模糊查询问题
解决MySQL中文模糊查询问题: 我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找%a%时,返回的可能有中文字符,却没有a字符存在.对于此问题目前发现一种方法可以很方便解 ...
- mysql不同版本乱码_解决MySQL中文乱码以及版本不一致问题_MySQL
一.导出数据 先说明一下自己的环境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47. 我想把本机数据库内的 ...
- xp mysql字符集与乱码_解决MYSQL中文乱码问题三种方法
方法三 1>本文将消除乱码分为三步: >消除页面乱码, >消除从mysql教程中读出中文乱码, >消除插入mysql数据库教程中的中文乱码: 15>注意编码表示方式在网页 ...
- mysql数据库断开连接_解决mysql服务器在无操作超时主动断开连接的情况
我们在使用mysql服务的时候,正常情况下,mysql的设置的timeout是8个小时(28800秒),也就是说,如果一个连接8个小时都没有操作,那么mysql会主动的断开连接,当这个连接再次尝试查询 ...
- mysql拒绝远程连接_解决Mysql数据库拒绝远程连接和忘记密码的问题
解决数据库忘记密码的问题 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 编辑m ...
- mysql远程不能访问_解决MySQL无法远程访问的3方案
在解决MySQL无法远程访问的实际操作中我们经常会选择的方案,除了改表法与授权法,在安装MySQL的机器上运行这一方法也是比较好用的方案,以下就是文章对解决MySQL无法远程访问的一些解决方案的描述. ...
- mysql字符集乱码问题_解决mysql字符集乱码问题
character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...
最新文章
- [51单片机] HC-SR04超声波测距仪 基础代码
- 三层架构与四大天王之——查
- Facebook的GBDT+LR模型python代码实现
- matlab计算流函数,hanyeah
- GenseeSDK 使用Kotlin要注意TODOAndroid Studio关闭TODO
- 转载---LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- Nemo(Nightwish乐队)
- 啤酒与尿布,咩叔原创基于图论简单到爆的实时关联性算法
- 批处理 无效驱动器规格_电脑维修之硬盘驱动器的常见故障判断
- 【前端 · 面试 】HTTP 总结(二)—— HTTP 消息
- 语音识别系统市场前景及发展趋势
- marquee标签制作轮播图
- 【车间调度】基于matlab差分进化算法求解作业车间调度问题【含Matlab源码 1743期】
- 分享Visual SVN Hook Script—— 允许客户端编辑SVN log message
- 利用信息差怎么赚钱?分享两个信息差赚钱项目
- MATLAB主题设置配色方案
- IllegalStateException: Failed to introspect annotated methods on class org.springframework.boot.web.
- 赵小楼《天道》《遥远的救世主》深度解析(125)做你该做的,受你该受的
- 【信息系统项目管理师】项目管理过程的三万字大论文
- MOOS-ivp 实验九 分布式旅行商问题(1)
热门文章
- pe系统下读不到服务器硬盘,WinPE系统里找不到硬盘怎么办 WinPE系统里找不到硬盘解决【详解】...
- matlab 音乐信号处理,基于matlab的音乐信号处理和分析.doc
- 详图讲解U盘安装windows8系统
- linux下kil命令l,linux/centos下使用kill命令的使用教程方法
- crypto-haystack(BSidesSF ctf 2020)
- Xilinx coe 与 Intel(Altera) mif 文件转化脚本
- 转:所谓美好,就是摆脱了功利之心
- 基金投资入门教程-----基金入门
- Tachibana Kanade Loves Review(克鲁斯卡尔 最小生成树)
- 计算机u盘 硬盘无法读取,U盘、移动硬盘盘符不显示及无法识别解决方法