方法1)select * from mytable order by CONVERT(chineseColumnName USING gbk); (备注:chineseColumnName 位排序字段) 方法2)对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary". 原因: 在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的. 这
在处理使用Mysql时,数据表采用utf8字符集,使用中发现中文不能直接按照拼音排序 如果数据表tbl的某字段name的字符编码是latin1_swedish_ci select * from `tbl` order by birary(name) asc ; 如果数据表tbl的某字段name的字符编码是utf8_general_ci SELECT name FROM `tbl` WHERE 1 ORDER BY CONVERT( name USING gbk ) COLLATE gbk_chi
MySQL下新建一个表,默认采用utf8字符集,中文不能直接按照拼音进行排序. 例如以下语句: SELECT * FROM `tb_fixedassets` order by C_FANAME 得到的结果为 解决方法:将要排序的字段字符集改为gbk即可,不需改变整个数据库的字符集.修改后查询结果如下:
同事在做抽奖排名的时候有个问题 需要按照 一等奖 二等奖 三等奖 未中奖 的形式输出数据 问到我如何排序. 数据库设计如下 用一个prize_code字段标示了是否中奖 1是一等奖 2是二等奖 3是三等奖 0是未中奖 思考许久 本来开始想用union 写出SQL如下 select * from (SELECT * FROM data where prize_code>0 order by prize_code asc) as tmp UNION select * from data where
如果表字段使用的GBK编码的话,我们可以直接order by value ,因为GBK本身就是按照拼音字母排序ABCDEFGHIGK...,当第一位相同的时候会比较第二位,以此类推. 如果表字段使用的UTF-8编码的话,通常我们都会的编码,这样我们可以使用MySQL的convert方法开转换gbk进行排序. SELECT * FROM TEST ORDER BY CONVERT(value USING GBK) ASC/DESC 原文地址:https://www.cnblogs.com/fc-s
Sql代码 www.2cto.com /* Navicat MySQL Data Transfer Source Server : local Source Server Version : 50022 Source Host : localhost:3306 Source Database : test Target Server Type : MYSQL Target Server Version : 50022 File Encodi
使MySQL支持中文 欢迎转载,请保留出处:ZCShou http://blog.sina.com.cn/zcshou MySQL 4.1及更高版本中,字符集的支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation).对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection). 一.登录MySQL,使用SHOW VARIABLES LIK