【PostgreSQL】カタカナをひらがなに置換する

2021年2月13日PostgreSQL自作関数

カタカナをひらがなに変換、置換する

カタカナをひらがなに置換します。

(自作関数が必要なく)SELECT文だけ必要な人この記事の下部へ

 

 

引数

引数1(character varying):置換する文字列

 

返り値

置換した文字列

 

コード

CREATE OR REPLACE FUNCTION convert_katakana_to_hiragana(character varying)
  RETURNS character varying AS
$BODY$
declare

	c_katakana	alias for $1;      --引数1:置換する文字列
	c_hiragana	character varying;

begin

	c_hiragana = translate(
	c_katakana,
	'ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヵヶ',
	'ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゕゖ'
	);

	return c_hiragana;

end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;

※PostgreSQL9.5 , 9.6 , 10 , 11 , 12で動作確認済み 自作関数の実行方法はこちら

 

実行例

select * From convert_katakana_to_hiragana('アメリカ');
--【結果】あめりか

 

(自作関数が必要ない人向け)SELECT文のみの紹介

SELECT文だけ必要な人向けです。次のSELECT文はそのまま実行できますが、

一つ目の引数('ココニ変換・・・')の箇所に変換したい文字列を入れ、実行してみて下さい。

-- 構文(5行で一つのSQLです)
select translate(
	'ココニ変換スル文字ヲ入力シマス',
	'ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヵヶ',
	'ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゕゖ'
);
--【結果】ここに変換する文字を入力します