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

PostgreSQL自作関数

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

ひらがなをカタカナに置換します(translateを使用)。

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

 

 

引数

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

 

返り値

置換した文字列

 

コード

CREATE OR REPLACE FUNCTION convert_hiragana_to_katakana(character varying)
  RETURNS character varying AS
$BODY$
declare
	c_hiragana	alias for $1;      --引数1:置換する文字列
	c_katakana	character varying;

begin

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

end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION convert_hiragana_to_katakana(character varying)
  OWNER TO postgres;

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

 

実行例

select * From convert_hiragana_to_katakana('あいうえお');
--【結果】アイウエオ

 

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

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

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

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