实现思路
使用sql来实现 简体转存繁体,
我的大致思路是 把简繁字段对应存储到表中,自己编写函数进行转换
实现步骤
创建存储表
-- 创建存储表
drop table if exists t_basic_ct;
create table if not exists t_basic_ct(s_str char(4),c_str char(4),constraint pk_basic_ct primary key (s_str,c_str))
创建转换函数
drop FUNCTION if exists `f_get_ct`;;
CREATE FUNCTION `f_get_ct`(vi_sstr varchar(255)) RETURNS varchar(255) CHARSET utf8
BEGIN
declare vn_length int;
declare vn_start int default 1;
declare vn_result varchar(255) default '';
declare vn_str char(1);
declare vn_tmpstr char(1);
declare vn_cnt bit(1);
set vn_length = char_length(vi_sstr);
while vn_start <= vn_length do
set vn_str = substr(substr(vi_sstr,1,vn_start),-1);
if ascii(vn_str) < 128 then
set vn_result = concat(vn_result,vn_str);
set vn_start = vn_start + 1;
else
select c_str ,count(*) into vn_tmpstr,vn_cnt from t_basic_ct where s_str = vn_str;
set vn_result = concat(vn_result,coalesce(vn_tmpstr,vn_str));
set vn_start = vn_start + 1;
end if;
end while;
RETURN vn_result;
END;;
获取数据源
类似如下
一 | 壹 |
万 | 萬 |
与 | 與 |
附件:
链接: https://pan.baidu.com/s/1XciaE0PC1ERtJHbpdSvM6w
提取码: 74xn