mysql如何按照中文排序解决方案


  本文标签:mysql,中文排序

Sql代码
复制代码 代码如下:

/*
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 Encoding : 65001

Date: 2012-11-19 15:46:13
*/

复制代码 代码如下:

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `person`
-- ----------------------------
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(20) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of person
-- ----------------------------
INSERT INTO `person` VALUES (1, 张三);
INSERT INTO `person` VALUES (2, 李四);
INSERT INTO `person` VALUES (3, 王五);
INSERT INTO `person` VALUES (4, 马六);
INSERT INTO `person` VALUES (5, 钱七);

正序:
复制代码 代码如下:

select * from person ORDER BY CONVERT(name USING gbk);

结果:
2 李四
4 马六
5 钱七
3 王五
1 张三

倒序:
复制代码 代码如下:

select * from person ORDER BY CONVERT(name USING gbk) desc

结果:
1 张三
3 王五
5 钱七
4 马六
2 李四