首页 > 数据库技术 > 详细

MySQL数据库like查询中文出现不准确的解决方法

时间:2014-08-01 18:36:32      阅读:374      评论:0      收藏:0      [点我收藏+]

MySQL数据库like查询中文出现不准确的解决方法

Mysql数据库like查询中文出现不准确的解决方法,中文检索有时候有点蛋疼,Mysql数据库like查询中文有时候会出现不准确。而且,在进行like检索时,有时候会返回一些与查询词不相关的记录,如查找 “%s%” 时,返回的结果中可能有中文字符,却没有s字符存在,这与数据库中文编码规则有关。

如希望查找title中含有字母s的所有新闻:  

select * from test.news where title like ‘%s%‘

返回的结果中有一些包含s,而有些则只有中文,很郁闷(也很邪恶,嘿嘿)。

测试了下,发现一种解决方法,就是使用 BINARY(是CAST(str AS BINARY)简短写法) 强制转换进行检索

select * from test.news where binary title like ‘%s%‘

这样结果就比较准确了,但还有一个问题,就是字母区分大小写,检索的时候依然不正确,只好再转化一下了:

select * from test.news where binary ucase(title) like  ‘%s%‘

如此,临时解决办法搞定,不过速度会变慢,希望以后的mysql版本能解决掉此问题

MySQL数据库like查询中文出现不准确的解决方法,布布扣,bubuko.com

MySQL数据库like查询中文出现不准确的解决方法

原文:http://www.cnblogs.com/lh123/p/3885151.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!