mysql下怎么把中文翻译为汉语拼音
发布时间:2022-01-20 09:41:31 所属栏目:编程 来源:互联网
导读:这篇文章主要讲解了mysql下怎么把中文翻译成汉语拼音,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习mysql下怎么把中文翻译成汉语拼音吧! -- 创建一张表,存放汉字拼音对照数据 create table pinyin ( pin_
这篇文章主要讲解了“mysql下怎么把中文翻译成汉语拼音”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql下怎么把中文翻译成汉语拼音”吧! -- 创建一张表,存放汉字拼音对照数据 create table pinyin ( pin_yin varchar(128) character set gbk not null, code int(11) not null, primary key (code) ) engine=InnoDB ; -- 创建函数 -- 建立汉字转换拼音函数 DROP FUNCTION IF EXISTS fu_pinyin; DELIMITER $ CREATE FUNCTION fu_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; $ DELIMITER ; -- 测试函数 select to_pinyin();select to_pinyin(); 感谢各位的阅读,以上就是“mysql下怎么把中文翻译成汉语拼音”的内容了,经过本文的学习后,相信大家对mysql下怎么把中文翻译成汉语拼音这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。 (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐