【PostgreSQL】指定した文字の出現回数をカウントする
指定した文字の出現回数をカウントする
文字列から指定した文字の出現回数をカウントする
引数
引数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;
実行例
--文字列'AAbbccddefghiA'から'A'の個数をカウントする
select * From count_appearances('AAbbccddefghiA','A'); --結果:3
--文字列'abcdefabcdef'から'abc'の個数をカウントする
select * From count_appearances('abcdefabcdef','abc'); --結果:2