fristPinyin : 此函数是将一个中文字符串的第一个汉字转成拼音字母
(例如:"中国人"->Z)

CREATE FUNCTION `fristPinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
BEGIN  DECLARE V_RETURN VARCHAR(255);  SET V_RETURN = ELT(INTERVAL(CONV(HEX(left(CONVERT(P_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');  RETURN V_RETURN;
END  

pinyin :此函数是将一个中文字符串对应拼音母的每个相连
(例如:"中国人"->ZGR)

Sql代码

CREATE FUNCTION `pinyin`(P_NAME VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
BEGIN  DECLARE V_COMPARE VARCHAR(255);  DECLARE V_RETURN VARCHAR(255);  DECLARE I INT;  SET I = 1;  SET V_RETURN = '';  while I < LENGTH(P_NAME) do  SET V_COMPARE = SUBSTR(P_NAME, I, 1);  IF (V_COMPARE != '') THEN  #SET V_RETURN = CONCAT(V_RETURN, ',', V_COMPARE);  SET V_RETURN = CONCAT(V_RETURN, fristPinyin(V_COMPARE));  #SET V_RETURN = fristPinyin(V_COMPARE);  END IF;  SET I = I + 1;  end while;  IF (ISNULL(V_RETURN) or V_RETURN = '') THEN  SET V_RETURN = P_NAME;  END IF;  RETURN V_RETURN;
END  

  1. mysql> select p.province, fristPinyin(p.province), pinyin(p.province) from province p;
  2. +------------------+-------------------------+--------------------+
  3. | province         | fristPinyin(p.province) | pinyin(p.province) |
  4. +------------------+-------------------------+--------------------+
  5. | 北京市           | B                       | BJS                |
  6. | 天津市           | T                       | TJS                |
  7. | 河北省           | H                       | HBS                |
  8. | 山西省           | S                       | SXS                |
  9. | 内蒙古自治区     | N                       | NMGZZQ             |
  10. | 辽宁省           | L                       | LNS                |
  11. | 吉林省           | J                       | JLS                |
  12. | 黑龙江省         | H                       | HLJS               |
  13. | 上海市           | S                       | SHS                |
  14. | 江苏省           | J                       | JSS                |
  15. | 浙江省           | Z                       | ZJS                |
  16. | 安徽省           | A                       | AHS                |
  17. | 福建省           | F                       | FJS                |
  18. | 江西省           | J                       | JXS                |
  19. | 山东省           | S                       | SDS                |
  20. | 河南省           | H                       | HNS                |
  21. | 湖北省           | H                       | HBS                |
  22. | 湖南省           | H                       | HNS                |
  23. | 广东省           | G                       | GDS                |
  24. | 广西壮族自治区   | G                       | GXZZZZQ            |
  25. | 海南省           | H                       | HNS                |
  26. | 重庆市           | Z                       | ZQS                |
  27. | 四川省           | S                       | SCS                |
  28. | 贵州省           | G                       | GZS                |
  29. | 云南省           | Y                       | YNS                |
  30. | 西藏自治区       | X                       | XCZZQ              |
  31. | 陕西省           | S                       | SXS                |
  32. | 甘肃省           | G                       | GSS                |
  33. | 青海省           | Q                       | QHS                |
  34. | 宁夏回族自治区   | N                       | NXHZZZQ            |
  35. | 新疆维吾尔自治区 | X                       | XJWWEZZQ           |
  36. | 台湾省           | T                       | TWS                |
  37. | 香港特别行政区   | X                       | XGTBXZQ            |
  38. | 澳门特别行政区   | A                       | AMTBXZQ            |
  39. +------------------+-------------------------+--------------------+
  40. 34 rows in set
  41. mysql>

MySQL自定义中文转拼音函数相关推荐

  1. PHP中文获取拼音函数

    <?php //中文获取拼音函数 /* return String $_String 输入的中文字符 $_Code 输出字符编码类型,默认是UTF-8 */ function pinyin($_ ...

  2. mysql得到中文的拼音_在MySQL中获取中文的拼音或转换中文替拼音

    在MySQL中获取中文的拼音或转换中文为拼音 MySQL ------------------------------------- 分页:select * from xxx limit 0,10 ? ...

  3. mysql实现中文根据拼音排序

    最近项目遇到一个要求,jqueryeasyui中的combobox下拉数据要根据输入的中文拼音排序. 如,输入"北",依次出现"北斗","北京&quo ...

  4. php mysql 读取中文数据的函数_php读取mysql中文数据出现乱码的解决方法

    以下是对php读取mysql中文数据出现乱码问题的解决方法进行了介绍,需要的朋友可以过来参考下 1.PHP页面语言本身的编码类型不合适,这时候,你直接在脚本中写的中文肯定是乱码,不用说数据库了 解决方 ...

  5. mysql怎么创建文字表_myMySQL数据库 如何将中文转拼音 MySQL数据库使用教程

    mysql将中文转拼音的方法:首先创建一个数据库,并创建一张汉字和拼音对照表:然后使用"INSERT INTO t_base_pinyin () VALUES ()"语句来给汉字拼 ...

  6. mysql5.7中文全文检索,让MySQL支持中文全文检索

    因为中文词间并没有明显的区隔,所以中文的分词是按照字典.词库的匹配和词的频度统计,或是基于句法.语法分析的分词,而MySQL并不具备此功能,所以MySQL对中文全文检索的支持几乎为零. 目前很多网站和 ...

  7. php截取中文第一个字,php中的一个中文字符串截取函数

    PHP代码: -------------------------------------------------------------------------------- /** ***@Auth ...

  8. centos mysql lujin_MySQL中文转换成拼音的函数[zt]

    注:如果创建函数出错,试试这个 set global log_bin_trust_function_creators=TRUE; 代码如下 -- 创建汉字拼音对照临时表 CREATE TABLE IF ...

  9. mysql根据中文拼音分组_【改进篇】使用MySql实现好友昵称按拼音排序或分组

    昵称排序顺序要求 大小写英文字母排序排在前面 中文按拼音排序 数字,符号以及emoji符号 后来发现原来的思路是有问题的,参与拼音排序的就只有中文,英文是没有参与排序的,原来的效果: 昵称 Apple ...

最新文章

  1. 全面分析阿里数据中台,小白也能看懂 | CSDN原力计划
  2. python编程输入标准-青少年Python编程能力标准等级模拟考试
  3. 【转】手工导入传输请求(Transport Request)
  4. 洛谷 - P2444 - 病毒 - AC自动机
  5. Ane技术大全 - Devil程序员
  6. libnss mysql_Ubuntu通过LDAP集成AD域账号登录(libnss-ldap方式)
  7. 指针选择排序法,10个整数从小到大排序
  8. api-ms-win-crt-runtime-l1-1-0.dll和api-ms-win-downlevel-shlwapi-l1-1-0.dll免费下载
  9. Python 爬虫---(3)Urllib库使用介绍
  10. [转载] Python开发系列课程(16) - 进程和线程
  11. Makefile--基本规则(零)
  12. 知识点速记 | 本机号码一键登录?
  13. CrystalReports水晶报表开发中遇到的问题
  14. Kali渗透测试之五社会工程学
  15. 世界读书日 | 技术人不要错过的好书(IT前沿技术)
  16. 卡方检验值转换为P值
  17. android虚拟器没有菜单,网易MuMu模拟器不显示Menu(菜单)键的解决办法
  18. Java第十五篇:详解一元二次方程
  19. Qt 新建文件夹并在该文件夹下新建文件
  20. 4.16 广推科技现场面试

热门文章

  1. 上进的凡凡,幸运数组,字符串魔法(easy)
  2. 微型计算机的基本储存单位,计算机内存储器中的基本存储单位是什么
  3. octave常用指令
  4. adobe acrobat 无效批注对象
  5. 人为什么看不到事实?
  6. Linux软件防火墙:iptables
  7. 产品经理之toB项目各阶段工作内容详解
  8. Hive SQL复杂场景实现(1) —— 连续发单天数
  9. linux shift f11,然后按下CTRL+SHIFT+F11组合键
  10. 攒机笔记十二:路由器