【PostgreSQL】upper(全角の小文字を大文字に変換する)
説明
小文字を大文字に変換する。
※ロケールが「C」の時、全角小文字がupperされないため作成
引数
引数1(character varying):変換元の文字列
返り値
変換後の文字列
コード
CREATE OR REPLACE FUNCTION public.upper2(
c_target character varying)
RETURNS character varying
LANGUAGE 'plpgsql'
COST 100
VOLATILE
AS $BODY$
declare
BEGIN
--ロケールが「C」の時全角小文字がupperされないため変換
return translate(upper(c_target), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ ');
END;
$BODY$;
ALTER FUNCTION public.upper2(character varying)
OWNER TO postgres;
※PostgreSQL12で動作確認済み
実行例
select * from upper2('abcDEF'); --ABCDEF