CREATE DEFINER=`by`@`%` FUNCTION `fun_pinyin`(`P_NAME` VARCHAR(255)) RETURNS varchar(255) CHARSET utf8
NO SQL
BEGIN
DECLARE V_COMPARE VARCHAR(255);
DECLARE V_RETURN VARCHAR(255);
DECLARE I INT;
SET I = 1;
SET V_RETURN = '';
while I <= char_length(P_NAME) do
SET V_COMPARE = SUBSTR(P_NAME, I, 1);
IF (V_COMPARE != '') THEN
SET V_RETURN = CONCAT(V_RETURN, fun_first_pinyin(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 CREATE DEFINER=`by`@`%` FUNCTION `fun_first_pinyin`(`P_NAME` VARCHAR(5)) RETURNS varchar(5) CHARSET utf8
NO SQL
BEGIN
DECLARE V_RETURN VARCHAR(5);
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');
IF ISNULL(V_RETURN) or V_RETURN = '' THEN
RETURN '';
ELSE
RETURN V_RETURN;
END IF;
END

最新文章

  1. Tomcat一个BUG造成CLOSE_WAIT
  2. xinetd cpu 100%
  3. bmp图片的有关操作
  4. for循环小题
  5. Tomcat Connector三种运行模式
  6. insert 另外一种用法
  7. Spring学习总结
  8. Windows开发中一些常用的辅助工具
  9. 【Holograms 101D】一步步用Unity 开发 Hologram
  10. [undefined,1] 和 [,1]的区别在哪里--认识js中的稀疏数组
  11. 爬虫免登录进入github
  12. Python-form表单标签
  13. 用javascript写原生ajax(笔记)
  14. 《手机端》让多出的导航变水平拖动,不让他 float 撑下去
  15. 缩点tarjan
  16. Solr记录-solr检索和查询数据
  17. jquery 实现table的行列选中效果改进
  18. 数据库性能优化之SQL语句优化(下)
  19. vmware下ubuntu不能上网 =&gt; 恢复默认虚拟网络
  20. BZOJ4350: 括号序列再战猪猪侠【区间DP】

热门文章

  1. Codeforces Hello2020 A-E简要题解
  2. 剑指offer 面试题. 滑动窗口的最大值
  3. adb+tcpdump手机抓包过程出现的报错及解决方法
  4. Zeta(2) 有图版
  5. Whctf - OLDDRIVER - Writeup
  6. 莫愁前路无知己,天下谁人不识Redis
  7. binwalk在Windows10和kali_Linux下的安装及使用教程
  8. bugku 管理员系统
  9. bugku web 5
  10. 题解【洛谷P5436】【XR-2】缘分