执行中文模糊搜索时,通常会返回一些不相关的记录. 例如,当搜索“%a%”时,可能会返回汉字,但不存在任何字符.

通过阅读MySQL手册,我找到了一个令人满意的解决方案.

我希望通过“标题”搜索新闻库,关键字可能包含中文和英文,以下是SQL语句:

代码如下: 从achech_com.news中选择ID,标题,名称,其中标题如“%a%”

返回结果. 某些标题字段肯定带有“ a”关键字,而某些标题字段仅中文,但它们也会在搜索结果中返回.

解决方法,使用BINARY属性进行搜索,例如:

代码如下: 从achech_com.news中选择id,标题,名称,其中二进制标题如'%a%'

返回的结果比以前更准确,但是英文字母区分大小写c 语言模糊查询,因此有时“ Achech”和“ achech”之类的结果是不同的. 知道使用BINARY属性可以解决前面的问题,然后看一下MySQL支持的UCASE和CONCAT函数. 其中,UCASE将所有英语都转换为大写,并且CONCAT函数的作用是连接字符. 以下是完全解析的SQL语句:

代码如下: 从achech_com.news中选择ID,标题,名称

其中二进制ucase(标题)如con('%',ucase('a'),'%')

搜索步骤是首先将属性指定为BINARY以便准确检索结果,并且类似的标题内容可能具有大写和小写字母. 因此,首先使用ucase函数将所有字段内容转换为大写字母,然后执行类似的运算,并且类似的运算使用模糊方法. 使用concat的优点是它可以是直接关键字,而无需使用“%”通配符. 您可以使用变量直接替换“'a'”. 一切在语言上都是无忧的. 当然,您也可以这样写:

代码如下: 从achech_com.news中选择ID,标题,名称,其中二进制ucase(标题)如ucase('%a%')

搜索结果还可以c 语言模糊查询,但是速度可能慢N毫秒.

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-147861-1.html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. pstree进程管理
  2. 中科视拓开源SeetaFace2
  3. 网站编程手册 服务器端,Peergine-P2P服务器端开发手册-v1.3.doc
  4. 带参数的过滤器|| 过滤器案例:格式化日期|| time.js  ||
  5. 更新代码到gitlab上
  6. spi master vhd timing
  7. mysql开源内库_将内裤穿在外面的男人(mysql)
  8. OC基础--OC中的类方法和对象方法
  9. unix到底有啥用_汽车后挡风玻璃上的“横线”到底有啥用?不懂就别说自己会开车了...
  10. C语言丨检测用户键盘输入数据的合法性
  11. 用java实现串匹配问题_java实现字符串匹配问题之求最大公共子串
  12. html文件变成巨大,巨大的JavaScript HTML5 blob(从大ArrayBuffers)在客户端构建一个巨大的文件...
  13. 1119 九九乘法表的值(%-4d等 的含义)
  14. 冒号在MATLAB里基本意思
  15. FastDFS分布式文件系统集群
  16. BIM族库下载——BIM项目停车场管理系统常用族库
  17. 我的计算机制作幻灯片在哪,如何制作幻灯片呢?具体的步骤能教教我嘛?
  18. uniapp 返回页面刷新/小程序获取用户信息之后登录和退出登录
  19. (三)洞悉linux下的Netfilteramp;iptables:内核中的rule,match和target
  20. alex机器人 ser_基于Web Service的机器人远程控制系统设计

热门文章

  1. 【MIKE21】批处理依次打开模型文件运行模型
  2. matlab设置图片背景透明_Matlab保存透明图片程序
  3. 【初识SciPy库】
  4. 软考中级软件设计师教程(第5版)知识点笔记第一章计算机系统知识持续更新中...
  5. jrtplib linux编译,linux下编译jrtplib、jthreadlib
  6. 建立矩阵 reshape函数,pascal函数,magic函数,diag函数【Matlab】
  7. lycos搜索引擎_Lycos中国推出全新搜索引擎
  8. 粒子群算法(PSO)求解TSP问题
  9. Jensen不等式初步理解及证明
  10. 08服务器端口映射,windows_Server_2008_R2_NAT服务器_端口映射.pdf