MySQL 指定した間隔で文字列を置換する
MySQLで、指定した間隔で文字列を置換する手順を記述してます。
環境
- OS ubuntu21.10
- MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
- MySQL Workbench 8.0.27
手順
指定した間隔で文字列を置換するには、「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,'😈')実行結果

-
前の記事
MySQL 照合順序を取得する 2022.01.17
-
次の記事
MySQL 現在日付を取得する 2022.01.17
コメントを書く