【PostgreSQL】文字列中に指定した文字が含まれるかのチェック

2020年7月15日

スポンサーリンク

説明

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

 

引数

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

引数2(character varying):探す文字列

 

返り値

True:含む False:含まれない

 

コード

CREATE OR REPLACE FUNCTION check_char_exists(
    c_target_char character varying,
    c_replace_char character varying)
  RETURNS boolean AS
$BODY$
declare
BEGIN

	--対象の文字列でreplaceして、元の文字列と異なったら含まれると判断する
	if c_target_char = replace(c_target_char,c_replace_char,'') then
		return false;
	else
		return true;
	end if;
	
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION check_char_exists(character varying, character varying)
  OWNER TO postgres;

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

 

実行例

select * From check_char_exists('abcdef','bc');
--True

 

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

入門~経験者まで「基本構文・こんな時どう書くんだっけ?」のまとめ