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

2021年1月2日PostgreSQL自作関数

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

文字列に、特定の文字列が含まれるかチェックする関数です。

 

引数

引数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;

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

 

実行例

--'abcdef'に'bc'が存在するか
select * From check_char_exists('abcdef','bc');   -- true

--'abcdef'に'xyz'が存在するか
select * From check_char_exists('abcdef','xyz');  -- false

 

関連記事

文字から数値、数値から文字へ変換する

文字の切り取り(Left、Right、Substring)

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

2つの文字列を比較して一致するかチェックする【自作関数】

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

検索文字を後ろから検索する(LastIndexOf)【自作関数】

文字列から指定した文字数を削除する【自作関数】

文字列から検索文字の位置を取得する(IndexOf)【自作関数】

文字列が空であるかのチェック【自作関数】

文字列のバイト数を取得する【自作関数】

ひらがなをカタカナに置換する【自作関数】

カタカナをひらがなに置換する【自作関数】

全角から半角へ変換する【自作関数】

半角から全角へ変換する【自作関数】