mysql数据库 排序中文字段_MySQL对中文进行排序的实例

MySQL对中文进行排序

MySQL对中文进行排序详解

MySQL默认只支持对日期、时间和英文字符串进行排序,如果对中文进行order by很可能得不到想要的结果,如下面的查询并不会按我们所想的根据汉字的拼音进行排序:

SELECT * from user order by user_name;

如果相对中文进行排序的话,可以使用CONVERT(coloum_name USING GBK)将中文转为GBK编码形式,然后再排序,就可以实现根据汉子的拼音进行排序:

SELECT * from user order by CONVERT(user_name USING GBK);

MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

MySQL常规排序、自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序。

下面给出3种比较常用的排序方式,mark一下

1.常规排序ASC DESC

ASC 正序

DESC倒叙

-- 此处不用多讲

2.自定义排序

自定义排序是根据自己想要的特定字符串(数字)顺序进行排序。

主要是使用函数 FIELD(str,str1,str2,str3,...)

MySQL的自定义排序,str与str1、str2、str3...进行比较,并按照str1,str2,str3...的顺序输出,如果遇到str为null或者不存在str1,str2,str3...中的情况的则序列为0,

eg:

SELECT * FROM TEST ORDER BY FIELD(value,'test1','test2','

你可能感兴趣的:(mysql数据库,排序中文字段)