Mysql中文排序order by covert

create  table  t_order (id int auto_increment primary key,name varchar(64)) default charset  utf8;

insert into  t_order(name)values("张全蛋"),("赵铁柱"),("王尼玛"),("MC大队长"),("纸巾"),("教授"),("李小花"),("老罗"),("雷布斯");

mysql> select * from  t_order;
+----+----------+
| id | name     |
+----+----------+
|  1 | 张全蛋        |
|  2 | 赵铁柱         |
|  3 | 王尼玛         |
|  4 | MC大队长      |
|  5 | 纸巾        |
|  6 | 教授         |
|  7 | 李小花        |
|  8 | 老罗         |
|  9 | 雷布斯       |
+----+----------+
9 rows in set (0.00 sec)
mysql> select * from  t_order order by convert(name USING gbk) COLLATE gbk_chinese_ci;
+----+----------+
| id | name     |
+----+----------+
|  4 | MC大队长      |
|  6 | 教授         |
|  8 | 老罗         |
|  9 | 雷布斯       |
|  7 | 李小花        |
|  3 | 王尼玛         |
|  1 | 张全蛋        |
|  2 | 赵铁柱         |
|  5 | 纸巾        |
+----+----------+
9 rows in set (0.00 sec)
mysql> select * from  t_order order by convert(name USING gbk) desc;
+----+----------+
| id | name     |
+----+----------+
|  5 | 纸巾        |
|  2 | 赵铁柱         |
|  1 | 张全蛋        |
|  3 | 王尼玛         |
|  7 | 李小花        |
|  9 | 雷布斯       |
|  8 | 老罗         |
|  6 | 教授         |
|  4 | MC大队长      |
+----+----------+
9 rows in set (0.00 sec)

你可能感兴趣的:(mysql)