create or replace function KANACONVERT(strInput in varchar2) return
varchar2 is
strOutput varchar2(32000);
strFindString varchar2(2);
strHiragana varchar2(2);
strHalfKatakana varchar2(200);
strFullHiragana varchar2(200);
strChrHalfKatakana varchar2(10);
strChrFullHiragana varchar2(10);
intStrlenght number;
intStrPostion number;
intRecordCount number;
intChrPostion number;
begin
--------------
変数の初期化
strHalfKatakana := 'ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポヴ';
strFullHiragana := 'がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽヴ';
intChrPostion := 1;
-------------------------
intStrlenght := length(strInput);
if intStrlenght>0 then
strOutput := strInput;
for i in 1..26 loop
strChrHalfKatakana := substr(strHalfKatakana,intChrPostion,2);
strChrFullHiragana := substr(strFullHiragana,i,1);
if instr(strOutput,strChrHalfKatakana) > 0 then
strOutput := replace(strOutput,strChrHalfKatakana,strChrFullHiragana);
end if;
intChrPostion:= i*2+1;
end loop;
intStrlenght := length(strOutput);
for intStrPostion in 1..intStrlenght loop
strFindString := substr(strOutput,intStrPostion,1);