1. 程式人生 > >mysql 根據漢字首字母排序

mysql 根據漢字首字母排序

 

1:如果資料庫表字段的字元編碼是latin1_swedish_ci

select * from tablename order by birary(name) asc ;

 

2:如果資料庫表字段的字元編碼是utf8_general_ci(常用)

select * from tablename WHERE 1=1 order by CONVERT( name USING gbk ) COLLATE gbk_chinese_ci ASC



首先,對name欄位進行gbk編碼,然後,對編碼後的內容根據gbk_chinese_ci進行整理排序。這樣得到的結果,英文是排在中文前面的,而且是根據拼音排序的。

tablename:資料庫表名 
name:排序欄位名 
CONVERT:提供一個在不同字符集之間轉換資料的方法。 
COLLATE:COLLATE是一個演算法語句,主要用於對字元進行排序,經常出現在表的建立語句中。sql語句裡面的COLLATE主要用於對字元進行排序。
--------------------- 
作者:天才小小布 
來源:CSDN 
原文:https://blog.csdn.net/w410589502/article/details/58049091