【PostgreSQL】指定した文字の出現回数をカウントする

2020年6月21日

スポンサーリンク

説明

文字列から指定した文字の出現回数をカウントする

 

引数

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

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

 

返り値

文字の出現回数(数値)

 

コード

CREATE OR REPLACE FUNCTION count_appearances(
    character varying,
    character varying)
  RETURNS integer AS
$BODY$
declare

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

begin

	return (length(c_target_char) - length(replace(c_target_char, c_seach_char, ''))) / length(c_seach_char);

end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION count_appearances(character varying, character varying)
  OWNER TO postgres;

 

実行例

select * From count_appearances('AAbbccddefghiA','A');  --3

 

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

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

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

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

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

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

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