MySQL 自定义函数 - 根据输入汉字获取拼音的全拼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | CREATE DEFINER=`root`@`%` FUNCTION `to_pinyin`( NAME VARCHAR (255) CHARSET gbk) RETURNS varchar (255) CHARSET gbk BEGIN DECLARE mycode INT ; DECLARE tmp_lcode VARCHAR (2) CHARSET gbk; DECLARE lcode INT ; DECLARE tmp_rcode VARCHAR (2) CHARSET gbk; DECLARE rcode INT ; DECLARE mypy VARCHAR (255) CHARSET gbk DEFAULT '' ; DECLARE lp INT ; SET mycode = 0; SET lp = 1; SET NAME = HEX( NAME ); WHILE lp < LENGTH( NAME ) DO SET tmp_lcode = SUBSTRING ( NAME , lp, 2); SET lcode = CAST (ASCII(UNHEX(tmp_lcode)) AS UNSIGNED); SET tmp_rcode = SUBSTRING ( NAME , lp + 2, 2); SET rcode = CAST (ASCII(UNHEX(tmp_rcode)) AS UNSIGNED); IF lcode > 128 THEN SET mycode =65536 - lcode * 256 - rcode ; SELECT CONCAT(mypy,pin_yin_) INTO mypy FROM t_base_pinyin WHERE CODE_ >= ABS (mycode) ORDER BY CODE_ ASC LIMIT 1; SET lp = lp + 4; ELSE SET mypy = CONCAT(mypy, CHAR ( CAST (ASCII(UNHEX( SUBSTRING ( NAME , lp, 2))) AS UNSIGNED))); SET lp = lp + 2; END IF; END WHILE; RETURN LOWER (mypy); END |


您的资助是我最大的动力!
金额随意,欢迎来赏!
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的
欢迎大家关注我的个人博客 Lycos | 小站 !由于最近没时间处理,原域名http://www.liuyuchuan.com暂时停止使用
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· Ai满嘴顺口溜,想考研?浪费我几个小时