mysql的中文資料按拼音排序的2個方法

else發表於2021-09-09

客服那邊需要我對一些酒店進行中文拼音排序,以前沒有接觸過,在php群裡問了一些大牛。。得到了2種答案,都可以。哈哈·~
以下既是msyql 例子,表結構是utf-8的

方法一、

複製程式碼 程式碼如下:
SELECT `hotel_name`
FROM `hotel_base`
ORDER BY convert( `hotel_name`
USING gbk )
COLLATE gbk_chinese_ci

方法二、
複製程式碼 程式碼如下:
SELECT `hotel_id` , `hotel_name` , ELT( INTERVAL( CONV( HEX( left( CONVERT( `hotel_name`
USING gbk ) , 1 ) ) , 16, 10 ) , 0xB0A1, 0xB0C5, 0xB2C1, 0xB4EE, 0xB6EA, 0xB7A2, 0xB8C1, 0xB9FE, 0xBBF7, 0xBFA6, 0xC0AC, 0xC2E8, 0xC4C3, 0xC5B6, 0xC5BE, 0xC6DA, 0xC8BB, 0xC8F6, 0xCBFA, 0xCDDA, 0xCEF4, 0xD1B9, 0xD4D1 ) , ‘A', ‘B', ‘C', ‘D', ‘E', ‘F', ‘G', ‘H', ‘J', ‘K', ‘L', ‘M', ‘N', ‘O', ‘P', ‘Q', ‘R', ‘S', ‘T', ‘W', ‘X', ‘Y', ‘Z' ) AS PY
FROM hotel_base
ORDER BY PY ASC
方法一較方法二簡單些 呵呵 希望對迷惑的人有幫助~~~


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2318/viewspace-2810503/,如需轉載,請註明出處,否則將追究法律責任。

相關文章