mysql的中文数据按拼音排序的2个方法
客服那边需要我对一些酒店进行中文拼音排序,以前没有接触过,在php群里问了一些大牛。。得到了2种答案,都可以。哈哈·~
以下既是msyql例子,表结构是utf-8的
方法一、
SELECT`hotel_name` FROM`hotel_base` ORDERBYconvert(`hotel_name` USINGgbk) COLLATEgbk_chinese_ci
方法二、
SELECT`hotel_id`,`hotel_name`,ELT(INTERVAL(CONV(HEX(left(CONVERT(`hotel_name` USINGgbk),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')ASPY FROMhotel_base ORDERBYPYASC
方法一较方法二简单些呵呵希望对迷惑的人有帮助~~~