Oracle Tb表数据
FCHAR FPY FWB
---------- -------------------- ----------
啊 A KB
锕 A QBS
嗄 A KDHT
哎 AI KAQ
哀 AI YEU
唉 AI KCT
埃 AI FCT
挨 AI RCT
锿 AI QYEY
捱 AI RDFF
皑 AI RMNN
....
....
求一函数GetMz 得到拼音码,五笔码简码
比如Str='张三#43'
GetMz(Str,1) 得到拼音码
GetMz(Str,2) 得到拼音简码
GetMz(Str,3) 得到五笔码
GetMz(Str,4) 得到五笔码简码
要有特殊字符处理的?
FCHAR FPY FWB
---------- -------------------- ----------
啊 A KB
锕 A QBS
嗄 A KDHT
哎 AI KAQ
哀 AI YEU
唉 AI KCT
埃 AI FCT
挨 AI RCT
锿 AI QYEY
捱 AI RDFF
皑 AI RMNN
....
....
求一函数GetMz 得到拼音码,五笔码简码
比如Str='张三#43'
GetMz(Str,1) 得到拼音码
GetMz(Str,2) 得到拼音简码
GetMz(Str,3) 得到五笔码
GetMz(Str,4) 得到五笔码简码
要有特殊字符处理的?
(
FILLNO VARCHAR2(12),
FILLCODE VARCHAR2(20),
FILLNAME VARCHAR2(50),
FPYCODE VARCHAR2(20),
FWBCODE VARCHAR2(30)
)create or replace procedure prd_tranwb
as
cursor cur_ill is
select fillcode,fillname from ill order by fillcode;
sWb varchar(50);
sTmp varchar(10);
iLen number(8);
begin
for rowIll in cur_ill loop
sWb := '';
iLen := 1;
loop
if iLen > length(rowIll.fillname) then exit;
else
sTmp := '';
select count(*) into sTmp from mb1 where fchar = substr(rowIll.Fillname,iLen,1);
if sTmp<> 0 then
select substr(fwb,1,1) into sTmp from mb1 where fchar = substr(rowIll.Fillname,iLen,1);
else
sTmp := substr(rowill.fillname,ilen,1);
end if;
swb := swb||sTmp;
iLen := iLen+1;
end if;
end loop;
update ill set fwbcode = sWb where fillcode=rowill.fIllcode;
commit;
end loop;
end;call prd_tranwb();