知识大全 搞定MySQL数据库中文模糊检索问题
Posted 中文
篇首语:月缺不改光,箭折不改钢。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 搞定MySQL数据库中文模糊检索问题相关的知识,希望对你有一定的参考价值。
搞定MySQL数据库中文模糊检索问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在 MySQL下 在进行中文模糊检索时 经常会返回一些与之不相关的记录 如查找 %a% 时 返回的可能有中文字符 却没有a字符存在 本人以前也曾遇到过类似问题 经详细阅读MySQL的Manual 发现可以有一种方法很方便的解决并得到满意的结果 例子 希望通过 标题 对新闻库进行检索 关键字可能包含是中英文 如下SQL语句
QUOTE: select id title name from achech_ news where title like %a% 返回的结果 某些title字段确定带了 a 关键字 而有些则只有中文 但也随之返回在检索结果中 解决方法 使用 BINARY 属性进行检索 如
QUOTE: select id title name from achech_ news where binary title like %a%
返回的结果较之前正确 但英文字母区分大小写 故有时在检索如 Achech 及 achech 的结果是不一样的 知道了使用 BINARY 属性可以解决前面这个问题 再看看 MySQL 支持的UCASE 及 CONCAT 函数 其中 UCASE 是将英文全部转成大写 而CONCAT函数的作用是对字符进行连接 以下是我们完全解决后的SQL 语句
QUOTE: select id title name from achech_ news where binary ucase(title) like concat( % ucase( a ) % ) 检索的步骤是先将属性指定为 BINARY 以精确检索结果 而被 like 的 title内容存在大小写字母的可能 故先使用 ucase 函数将字段内容全部转换成大写字母 然后再进行 like 操作 而 like 的操作使用模糊方法 使用 concat的好处是传进来的可以是直接的关键字 不需要带 % 万用符 将 a 直接换成你的变量 在任何语言下都万事无忧了 当然你也可以这么写
cha138/Article/program/MySQL/201311/29449相关参考
MySQL中文参考手册--创造并使用一个数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 既
改默认编码 /etc/initd/mysqlstart(stop)为启动和停止服务器 /etc/mysql/主要配置文件所在位置f /var/lib/mysql/放置的是数据库表文件夹这里的
最近碰到一个mysql数据库的问题就是一个标准的servlet/tomcat网络应用后台使用mysql数据库问题是待机一晚上后第二天早上第一次登录总是失败察看日志发现如下错误 mysqljdbc
游标类型产生的数据检索问题 现象: 在将数据库兼容的级别从改到以后下文中的游标循环不出数据单独SELECT却会有结果: DECLAREMyCursorCURSORLOCALREAD_ONLY
解决MySQL5数据库连接超时问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近碰到一个m
如何应对JSP连接MySQL数据库问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 当您面临J
使用mysql作为基础数据库的应用可能会遇到一些数据库方面的性能问题我们可以通过一些方法进行问题定位以下介绍可以定位性能问题的四种方法欢迎拍砖 一开启慢查询日志 记录执行查询时间大于long_
轻松应对JSP连接MySQL数据库问题[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
轻松应对JSP连接MySQL数据库问题[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nbs
知识大全 解析Hibernate + MySQL中文乱码问题
解析Hibernate+MySQL中文乱码问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如