ユーザ用ツール

サイト用ツール


postgresql全角半角変換

PostgreSQL全角半角変換

translate(
 field_name,
 ' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!?+-()',
 ' 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!?+-()'
)
CREATE OR REPLACE FUNCTION h2z_kana(text) 
 RETURNS text AS
$BODY$
 DECLARE
     zenkaku alias FOR $1;
     result text;
     i int;


     zt varchar[] = ARRAY['ガ', 'ギ', 'グ', 'ゲ', 'ゴ', 'ザ', 'ジ', 'ズ', 'ゼ', 'ゾ', 'ダ', 'ヂ', 'ヅ', 'デ', 'ド', 'バ', 'ビ', 'ブ', 'ベ', 'ボ', 'パ', 'ピ', 'プ', 'ペ', 'ポ', 'ヴ'];
     ht varchar[] = ARRAY['ガ', 'ギ', 'グ', 'ゲ', 'ゴ', 'ザ', 'ジ', 'ズ', 'ゼ', 'ゾ', 'ダ', 'ヂ', 'ヅ', 'デ', 'ド', 'バ', 'ビ', 'ブ', 'ベ', 'ボ', 'パ', 'ピ', 'プ', 'ペ', 'ポ', 'ヴ'];
 BEGIN


     result = zenkaku;


     -- 2バイトで変換
     FOR i IN 1..26 LOOP
         result = replace(result, ht[i], zt[i]);
     END LOOP;


     -- 1バイトで変換
     result = translate(result,
                ' アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョワイエカケー、。・」「゙,<.>/?_}]*:+;{[~@|\\`^=-)(&%$#"!',
                ' アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョヮヰヱヵヶー、。・」「゛,<.>/?_}]*:+;{[ ̄@|¥`^=-)(&%$#"!'
           );


     RETURN result;
 END;
$BODY$
 LANGUAGE 'plpgsql' VOLATILE;
postgresql全角半角変換.txt · 最終更新: 2019/06/30 12:22 by 127.0.0.1