Welcome 微信登录

首页 / 数据库 / MySQL / MySQL里的like问题

最近使用MySQL时遇到的问题,like查询总能出来很奇怪的东西,与like后面的东西一点也不一致,我查了一下,终于解决了,用的是下面的方法四,别的没试,你有兴趣就试试其他的吧!方法一: 解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。方法二: 如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。方法三: 可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为: SELECT * FROM table WHERE locate(field,"李") > 0;方法四: 把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY "%FIND%"即可问题出现的原因是: 在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。 Linux下Oracle 10G DBCA等汉字乱码解决方法Fedora下安装SQL Developer相关资讯      mysql技巧 
  • MySQL 压力测试工具super smack  (08/09/2008 07:53:16)
  • 从MySQL读取中文数据,显示???  (08/04/2008 06:48:23)
  • 修改MySQL的编码为UTF8  (07/30/2008 07:12:49)
  • MySQL服务器网络访问慢问题解  (08/09/2008 07:52:23)
  • MySQL服务器上添加一个允许远程访  (08/01/2008 07:31:15)
  • 查看MySQL数据库字符集及数据库连  (07/29/2008 08:14:14)
本文评论 查看全部评论 (0)
表情: 姓名: 字数