解决MySQL中文模糊查询问题: 我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找%a%时,返回的可能有中文字符,却没有a字符存在。对于此问题目前发现一种方法可以很方便解决。 例子: 希望通过标题对新闻库进行检索,关键字可能包

解决MySQL中文模糊查询问题:

我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找 "%a%" 时,返回的可能有中文字符,却没有 a 字符存在。对于此问题目前发现一种方法可以很方便解决。

例子:

·希望通过“标题”对新闻库进行检索,关键字可能包含是中英文,如 下 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%’)

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql中文模糊查询_解决MySQL中文模糊查询问题相关推荐

  1. mysql占用多少内存_解决mySQL占用内存超大问题

    解决mySQL占用内存超大问题 解决mySQL占用内存超大问题 为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见 ...

  2. mysql 4 中文模糊查询_解决MySQL中文模糊查询问题

    解决MySQL中文模糊查询问题: 我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找 "%a%" 时,返回的可能有中文字符,却没有 a 字符存在.对于此 ...

  3. mysql不同版本乱码_解决MySQL中文乱码以及版本不一致问题_MySQL

    一.导出数据 先说明一下自己的环境:Mac OS X 10.8.3, MySQL Community Server 5.6.10, MySQL Workbench 5.2.47. 我想把本机数据库内的 ...

  4. xp mysql字符集与乱码_解决MYSQL中文乱码问题三种方法

    方法三 1>本文将消除乱码分为三步: >消除页面乱码, >消除从mysql教程中读出中文乱码, >消除插入mysql数据库教程中的中文乱码: 15>注意编码表示方式在网页 ...

  5. mysql数据库断开连接_解决mysql服务器在无操作超时主动断开连接的情况

    我们在使用mysql服务的时候,正常情况下,mysql的设置的timeout是8个小时(28800秒),也就是说,如果一个连接8个小时都没有操作,那么mysql会主动的断开连接,当这个连接再次尝试查询 ...

  6. mysql拒绝远程连接_解决Mysql数据库拒绝远程连接和忘记密码的问题

    解决数据库忘记密码的问题 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 编辑m ...

  7. mysql远程不能访问_解决MySQL无法远程访问的3方案

    在解决MySQL无法远程访问的实际操作中我们经常会选择的方案,除了改表法与授权法,在安装MySQL的机器上运行这一方法也是比较好用的方案,以下就是文章对解决MySQL无法远程访问的一些解决方案的描述. ...

  8. mysql 中文模糊查询_解决mysql中文模糊查询问题的方法

    mysql进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,却没有a字符存在. 通过阅读MySQL的Manual,发现了一种可以满意 ...

  9. mysql字符集乱码问题_解决mysql字符集乱码问题

    character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...

最新文章

  1. windows7 telnet linux,Windows下通过Telnet连接linux
  2. 文件上传优化CommonsMultipartResolver
  3. oracle10g 克隆安装,克隆Oracle Home(10g2)
  4. java怎么表示正无穷大_java中怎样表示一个无穷大? 无穷小?
  5. matlab 微秒 符号,matlab处理csi
  6. 面试官问面向对象特点_最好的面试官有什么共同点?
  7. C#无法生成解决方案,System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。
  8. 删除指定目录下的所有文件与更改文件扩展名
  9. Leetcode之合并区间
  10. css怎么写仿粗体,在CSS中字体加粗要怎么做?
  11. openGL ES进阶教程(六)美颜滤镜之美白,磨皮,红润
  12. NR 5G SSB介绍
  13. 无锡室内设计培训——ps难学吗?
  14. PHP使用AES加密和解密
  15. java list 时间排序_Java collections.sort()根据时间排序list
  16. 学大伟业Day1解题报告
  17. 云呐医疗行业条码固定资产管理系统
  18. IDEA 离线安装lombok插件
  19. 1T和12T单片机的区别
  20. 电芯:聚合物的一定比18650更好_移动电源_移动电源评测-中关村在线

热门文章

  1. 以防中年迷茫的13件事
  2. 在校大学生(非计算机专业)自学Python,兼职也能月入5k?
  3. 随机性测试软件,5种随机性检测方法
  4. FT2004(D2000)开发实战之飞腾开发板偶尔启动失败调试
  5. 使用ruby获取yobo的飙升榜
  6. ffmpeg的操作参数
  7. Ubuntu下安装Android Studio
  8. 设计模式 | 策略模式
  9. B - Derangement
  10. java后端+uniapp 对接微信app支付 报错-1