今天接到一个新的业务需求,客户需要将指定的中文汉字转换成拼音(含:简拼、首全拼、尾全拼) 。
1. 创建基础数据表
-- Table structure for bst_wbjq
-- ----------------------------
DROP TABLE IF EXISTS `bst_wbjq`;
CREATE TABLE `bst_wbjq` (
`CHARACTOR` varchar(200) NOT NULL,
`word` varchar(100) NOT NULL,
`CODE` varchar(100) DEFAULT NULL,
`STROKE` varchar(200) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for tbl_pinyin
-- ----------------------------
DROP TABLE IF EXISTS `tbl_pinyin`;
CREATE TABLE `tbl_pinyin` (
`SN` bigint(20) NOT NULL,
`WORD` varchar(200) NOT NULL,
`PY` varchar(200) NOT NULL,
`PYLEVEL` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. 插入基础数据记录
-- Records of bst_wbjq
-- ----------------------------
truncate table bst_wbjq;
INSERT INTO `bst_wbjq` VALUES ('禅', 'C', 'P', '^K');
INSERT INTO `bst_wbjq` VALUES ('讶', 'Y', 'Y', '2T');
INSERT INTO `bst_wbjq` VALUES ('焉', 'Y', 'G', 'Pa');
INSERT INTO `bst_wbjq` VALUES ('阉', 'Y', 'U', 'V2');
INSERT INTO `bst_wbjq` VALUES ('烟', 'Y', 'O', 'Ng');
INSERT INTO `bst_wbjq` VALUES ('淹', 'Y', 'I', 'V^');
INSERT INTO `bst_wbjq` VALUES ('圊', 'Q', 'L', 'Rz');
INSERT INTO `bst_wbjq` VALUES ('圉', 'Y', 'L', 'S?');
INSERT INTO `bst_wbjq` VALUES ('帔', 'P', 'M', ';~');
.... ....
commit;
-- ----------------------------
-- Records of tbl_pinyin
-- ----------------------------
truncate table tbl_pinyin;
INSERT INTO `tbl_pinyin` VALUES ('33641', '胫', 'jing4', '0');
INSERT INTO `tbl_pinyin` VALUES ('30749', '箅', 'bi4', '0');
INSERT INTO `tbl_pinyin` VALUES ('30750', '箢', 'yuan1', '0');
INSERT INTO `tbl_pinyin` VALUES ('30751', '篁', 'huang2', '0');
INSERT INTO `tbl_pinyin` VALUES ('30752', '篦', 'bi4', '0');
INSERT INTO `tbl_pinyin` VALUES ('30753', '篾', 'mie4', '0');
INSERT INTO `tbl_pinyin` VALUES ('30754', '簋', 'gui3', '0');
INSERT INTO `tbl_pinyin` VALUES ('30755', '簪', 'zan1', '0');
INSERT INTO `tbl_pinyin` VALUES ('30756', '籀', 'zhou4', '0');
INSERT INTO `tbl_pinyin` VALUES ('30757', '舄', 'xi4', '0');
INSERT INTO `tbl_pinyin` VALUES ('30758', '舢', 'shan1', '0');
INSERT INTO `tbl_pinyin` VALUES ('30759', '舨', 'ban3', '0');
.... ....
commit;
3. 创建汉字转拼音函数(存储过程、函数)3.1. 创建存储过程:PRC_GET_PYM
-- procedure structure for PRC_GET_PYM
-- ----------------------------
delimiter $$
drop procedure if exists PRC_GET_PYM;
$$
create procedure PRC_GET_PYM(IN V_NAME varchar(256),OUT V_PYM varchar(256))
begin
declare i int default 1;
declare j int default 0;
declare V_PINYIN_TEMP VARCHAR(70);
declare V_NAME_TEMP varchar(200);
declare V_NAME_SIN varchar(10);
【MySQL实现汉字转拼音,赶快一起学起来】declare V_PINYIN_SIN varchar(10);
declare v_counter1 int(8);
#替换各种特殊符号
select replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(replace(replace(replace(replace(replace(V_NAME,
'A','A'),'B','B'),'C','C'),'D','D'),'E','E'),'F','F'),'G','G'),'H','H'),
'I','I'),'J','J'),'K','K'),'L','L'),'M','M'),'N','N'),'O','O'),'P','P'),
推荐阅读
- 汉字演变的过程顺序是什么样的 汉字演变的过程顺序正确的是
- 50元也能把智能家居玩出花样!买这几款就能实现全屋智能!
- 就这样人类最早的文字之一汉字诞生了?人类最早的文字之一是什么创造的汉字
- 厨房怎么样收纳,才能实现台面无物?
- 用Stream实现mysql的groupBy, sum Case when 语法
- 卫星|华为Mate 50将先于iPhone 14实现卫星通信:率先接入北斗卫星
- 发现衣柜中间留空一排,仅简单一步,实现2倍收纳还省了床头柜!
- 史上那些“一字抵千”言的故事 关于汉字的故事
- Arm|X86、ARM为何成主流CPU生态?专家:砸钱实现其他标准规范源代码
- 实现将近10℃的降温!顶层学他家这样去刷,防水堵漏、隔热效果佳