0
点赞
收藏
分享

微信扫一扫

采用sql实现简繁体转换

实现思路

使用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


举报

相关推荐

0 条评论