【PostgreSQL】文字列が空であるかのチェック

2020年10月22日PostgreSQL自作関数

スポンサーリンク

説明

文字列が空であるかのチェック (nullも空とします)

 

引数

引数1(character varying):対象の文字列

 

返り値

True:空 False:空でない

 

コード

CREATE OR REPLACE FUNCTION public.isempty(
	c_target character varying)
    RETURNS boolean
    LANGUAGE 'plpgsql' COST 100 VOLATILE 
    
AS $BODY$
declare
	b_flg		boolean:=false; 
BEGIN

	--初期値セット
	b_flg = false;

	--""のチェック
	if trim(c_target) = '' then
		b_flg = true;
	end if;

	--nullチェック
	if c_target is null then
		b_flg = true;
	end if;

	return b_flg;

END;
$BODY$;

ALTER FUNCTION public.isempty(character varying)
    OWNER TO postgres;

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

 
 

実行例

select * from isempty(null);   --true
select * from isempty('');     --true
select * from isempty('abc');  --false

 

case文

関数の必要はなく、case文で処理するならこの例を参考にして下さい。

--nullの時:'a' , 空文字の時:'b' , それ以外は'c'とする
--※XXXに文字列を入れて実行
select case when XXX is null then 'a' when XXX = '' then 'b' else 'c' end;

 

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

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