【PostgreSQL】文字列が空であるかのチェック
文字列が空であるかのチェックする
文字列が空であるかのチェックする関数です (nullも空と判定します)。
※ 関数の必要はなく、case文で処理する方法はこの下
引数
引数1(character varying): 対象の文字列
返り値
true:空 false:空でない
コード
CREATE OR REPLACE FUNCTION 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$;
※ PostgreSQL9.5 , 9.6 , 10 , 11 , 12で動作確認済み 自作関数の実行方法はこちら
実行例
select isempty(null); -- true
select isempty(''); -- true
select 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;
あわせて読みたい
こちらも時間がある時に見てみてください。