【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

 

PostgreSQLのまとめを書いています

お気に入りに!「こんな時どう書くんだっけ?」の構文・SQLのまとめ