首页 / 数据库 / MySQL / mysql的中文数据按拼音排序的2个方法
客服那边需要我对一些酒店进行中文拼音排序,以前没有接触过,在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
方法一较方法二简单些 呵呵 希望对迷惑的人有帮助~~~