【PostgreSQL】文字列の追加したい箇所に文字を入れる

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,'かきくけこ'); 
--【結果】:あいかきくけこうえお

 

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

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