【PostgreSQL】配列が全て空かチェックする

2020年6月21日

スポンサーリンク

説明

配列の中身が全て空なのかチェックする

 

引数

引数1(character varying[]):チェックする配列

 

返り値

True:全て空である、False:空でない

 

コード

CREATE OR REPLACE FUNCTION check_empty_array(character varying[])
  RETURNS boolean AS
$BODY$
declare

	a_array		alias for $1; 	--引数1:
	b_flg		boolean;	--True:全て空である、False:空でない

begin

	b_flg = true;

	for loop_count in 1..array_length(a_array,1)
 	loop
		if (a_array[loop_count] = '') or (a_array[loop_count] is null) then
		else
			b_flg = false;
		end if;
	end loop;

	return b_flg;
 
end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION check_empty_array(character varying[])
  OWNER TO postgres;

※PostgreSQL12で動作確認済み

 

実行例

select * From check_empty_array(array['',null,null,'']);
--True

 

他にもこんな関数があります(配列操作の関数)

配列に特定の文字列が含まれるかをチェックする

2つの配列を結合する

配列の要素数を取得する