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

2020年6月21日

スポンサーリンク

説明

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

 

引数

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

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

 

返り値

True:含む False:含まれない

 

コード

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

	c_target_char		alias for $1; 	--引数1:対象の文字列
	c_replace_char		alias for $2; 	--引数2:探す文字列

	c_temp_char		character varying;

BEGIN

	c_temp_char = replace(c_target_char,c_replace_char,'');

	if c_target_char = c_temp_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;

※PostgreSQL12で動作確認済み

 

実行例

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

 

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

2つの文字列を比較して一致するかチェックする

文字列をバイト数で計算する

ひらがなをカタカナに置換する

カンマ区切り文字列の指定カンマ箇所を取得する

文字を左のX文字目から○文字切り取る(Mid関数)