MariaDB 範囲を指定して文字列を置換する

MariaDB 範囲を指定して文字列を置換する

MariaDBで、範囲を指定して文字列を置換する手順を記述してます。「INSERT( )」に対象の文字列と位置と文字数と置換する文字列を指定します。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS CentOS Stream release 9
  • MariaDB 10.10.2
  • phpMyAdmin 5.2.0

手順

範囲を指定して文字列を置換するには、「INSERT( )」を使用します。

INSERT( '置換する文字列', '位置', '置換する文字数', '置換する文字列')

実際に、実行して置換してみます。

SELECT 
INSERT('abcdefg',3,3,'CDE'),
INSERT('abcdefg',3,4,'CDE'),
INSERT('abcdefg',3,5,'CDE')

実行結果を確認すると、置換されていることが確認できます。

指定した文字数の範囲を置換する文字列が超えても、問題なく置換されます。

SELECT 
INSERT('abcdefg',3,1,'CDEFGHI'),
INSERT('abcdefg',3,5,'CDEFGHI')

実行結果

開始位置の範囲を超えると、無視されます。

SELECT 
INSERT('abc',4,1,'DE'),
INSERT('あいう',4,1,'えお')

実行結果

日本語

日本語にも使用することが可能です。

SELECT 
INSERT('おはようございます',5,5,'さん')

実行結果

サロゲートペア

サロゲートペア文字にも使用できます。

SELECT 
INSERT('😅😆😇',3,1,'😈')

実行結果