在MySQL中获取中文的拼音或转换中文为拼音
MySQL
-------------------------------------
分页:select * from xxx limit 0,10
limit start,pagesize
-------------------------------------
INSERT INTO person_info
SELECT
u.uid,
u.displayname,
ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(u.displayname 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,
REPLACE(REPLACE(ui.sex, '男', '1'),'女','0'),
CONCAT(ui.birth_year,'-',ui.birth_month,'-',ui.birth_day),
ui.residence_city,
ui.createdate,
ui.createdate
FROM USER u,
user_info ui
WHERE u.type = 1
AND u.uid = ui.uid
-------------------------------------
在MySQL中获取中文的拼音或转换中文为拼音
示例:
1 Select *,
2 ELT(INTERVAL(CONV(HEX(left(CONVERT(FieldName USING gbk),1)),16,10),
3 0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,
4 0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,
5 0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),
6 'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P',
7 'Q','R','S','T','W','X','Y','Z') as PY
8 FROM DataTable
说明:
ELT(N,str1,str2,str3,…)
若N = 1,则返回值为 str1 ,若N = 2,则返回值为 str2 ,以此类推。
INTERVAL(N,N1,N2,N3,…)
N1,N2,N3,…为递增的有序整数。函数返回N在有序整数中的位置。
CONV(N,from_base,to_base)
不同数基间转换数字。返回值为数字的N字符串表示,由from_base基转化为 to_base 基。本例中为将十六进制转换为十进制。
CONVERT(FieldName USING gbk)
将数据转换为gbk字符集。
HEX(CHAR)
返回字符的十六进制数。
LEFT(STR,N)
取STR字符串左边开始的N个字符。