在處理使用mysql時,資料表採用utf8字符集,直接oder by 對含有中文字元的資料排序,中文不是按照拼音排序的,可以用以下方法處理:
如果資料表 tbl 的某欄位 name 的字元編碼是utf8_general_ci
select name from如果資料表tbl的某欄位name的字元編碼是latin1_swedish_citbl
where 1 order by **convert( name using gbk )collate gbk_chinese_ci asc**
select * from
`tbl`
order
by **birary(name) asc ;**
參考: mysql中文字段排序
mysql中文排序失效解決方法convert name using gbk 當mysql使用的預設utf8編碼時,如果直接order by 中文字段排序,排序結果會不正確。將字段先轉換成gbk編碼再排序 convert 欄位名 using gbk convert 提供乙個在不同字符集之間轉換資料的方...
中文字元按拼音排序
select from select 張三 name from dual union all select 李四 name from dual union all select 王五 name from dual order by nlssort name,nls sort schinese pin...
pandas 透視表中文字段排序
前幾天有乙個需求,透視表中的年級這一列要按照一年級,二年級這樣的序列進行排序,但是用過透視表的人都知道,透視表對中文的排序不是太理想,放棄pandas自帶的排序方法。測試了很久,想到乙個辦法。先把dataframe中需要特殊排序的列中的漢字轉換成數字,然後生成透視表,生成透視表之後,再把透視表的in...