【PostgreSQL】文字列の追加したい箇所に文字を入れる
文字列の追加したい箇所に文字を入れる
文字列の追加したい箇所に文字を入れる関数です。
引数
引数1(character varying):対象の文字列(この文字列に文字を入れる)
引数2(integer):何文字目に挿入するか
引数3(timestamp without time zone):挿入する文字
返り値
挿入後の文字列
コード
CREATE OR REPLACE FUNCTION insert_char(
character varying,
integer,
character varying)
RETURNS character varying AS
$BODY$
declare
c_target_char alias for $1; --引数1:対象の文字列
i_index alias for $2; --引数2:何文字目に挿入するか
c_insert_char alias for $3; --引数3:挿入する文字
BEGIN
if i_index < 1 then
return null;
end if;
return substring(c_target_char,1,i_index -1 ) || c_insert_char || substring(c_target_char,i_index ,length(c_target_char));
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION insert_char(character varying, integer, character varying)
OWNER TO postgres;
※PostgreSQL9.5 , 9.6 , 10 , 11 , 12で動作確認済み 自作関数の実行方法はこちら
実行例
select * From insert_char('あいうえお',3,'かきくけこ');
--【結果】:あいかきくけこうえお