在MySQL中获取中文的拼音或转换中文为拼音
示例:
Select *,
ELT(INTERVAL(CONV(HEX(left(CONVERT(FieldName 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 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个字符。
查看完整版本: 在MySQL中获取中文的拼音或转换中文为拼音
请教赵博主: 我有一个比较大的 mysql 数据表,大约5千条记录。每一条记录中有一个字段是 filename,也就是文件名。这些文件名有些含有中文,有些含有空格。我现在需要将中文转换成拼音,空格及其他特殊字符转换成连字符(-)或者下划线(_)。我看了你的教程还是不会操作(抱歉我对 mysql 不熟)。能否麻烦你告诉我具体的指令?我直接复制、粘贴、执行就能完成? 谢谢! 王五Tags: MySQL