【PostgreSQL】文字列から指定した文字数を削除する
文字列から指定した文字数を削除する関数
文字列の先頭から指定した文字数を削除する関数です。
-- 例:'abcdefghijk'の先頭5文字を削除する
select * from char_remove('abcdefghijk',5); -- fghijk
引数
引数1(character varying):削除する対象の文字列
引数2(integer):削除する文字数
返り値
削除した後の文字列
コード
CREATE OR REPLACE FUNCTION char_remove(character varying,integer)
RETURNS character varying AS
$BODY$
declare
a_char alias for $1; --引数1:削除する対象の文字列
i_index alias for $2; --引数2:削除する文字列
begin
return substring(a_char , i_index + 1, length(a_char) - i_index + 1);
end;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION char_remove(character varying,integer)
OWNER TO postgres;
※PostgreSQL12で動作確認済み 自作関数の実行方法はこちら
実行例
select * from char_remove('abcde',2); --'abcde'の先頭2文字を削除する
--'cde'