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

2020年7月18日

スポンサーリンク

説明

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

 

引数

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

 

実行例

--文字列'AAbbccddefghiA'から'A'の個数をカウントする
select * From count_appearances('AAbbccddefghiA','A');  --3

 

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

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