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

时间:2022-08-27 22:15:51

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 李四