Kaedah mysql untuk menggantikan sebahagian daripada rentetan: 1. Gunakan fungsi REPLACE(), sintaks "REPLACE (rentetan, nilai carian, nilai gantian)" 2. Gunakan fungsi INSERT(), sintaks "INSERT (Rentetan aksara, kedudukan permulaan penggantian, bilangan aksara yang akan diganti, nilai gantian)".
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
mysql menggantikan sebahagian daripada rentetan
1 Gunakan fungsi REPLACE()
Fungsi REPLACE( ) menggantikan semua kejadian subrentetan dalam rentetan dengan subrentetan baharu.
Nota: Fungsi ini melaksanakan penggantian sensitif huruf besar-besaran.
Sintaks
REPLACE(string, from_string, new_string)
参数 | 描述 |
---|---|
string | 必须项。原始字符串 |
from_string | 必须项。要替换的子字符串 |
new_string | 必须项。新的替换子字符串 |
[Contoh] Gunakan fungsi REPLACE untuk melaksanakan operasi penggantian rentetan
mysql> SELECT REPLACE('aaa.mysql.com','a','w'); +----------------------------------+ | REPLACE('aaa.mysql.com','a','w') | +----------------------------------+ | www.mysql.com | +----------------------------------+ 1 row in set (0.00 sec)
Seperti yang dapat dilihat daripada hasil yang sedang dijalankan, gunakan REPLACE('aaa.mysql.com','a','w')
Gantikan aksara "a" rentetan "aaa.mysql.com
" dengan aksara "w", dan hasilnya ialah "www.mysql.com
".
2. Gunakan fungsi INSERT()
Fungsi INSERT() memasukkan rentetan ke dalam rentetan pada kedudukan yang ditentukan dan memasukkan bilangan aksara tertentu.
Sintaks
INSERT(string, position, number, string2)
参数 | 描述 |
---|---|
string | 必须项。要修改的字符串 |
position | 必须项。插入string2的位置 |
number | 必须项。要替换的字符数 |
string2 | 必须项。要插入字符串的字符串 |
Jika kedudukan melebihi panjang rentetan, nilai pulangan ialah rentetan asal. Jika panjang nombor lebih besar daripada panjang rentetan lain, penggantian bermula dari kedudukan kedudukan. Jika mana-mana parameter adalah NULL, nilai pulangan ialah NULL.
[Contoh] Gunakan fungsi INSERT untuk melaksanakan operasi penggantian rentetan
mysql> SELECT INSERT('Football',2,4,'Play') AS col1, -> INSERT('Football',-1,4,'Play') AS col2, -> INSERT('Football',3,20,'Play') AS col3; +----------+----------+--------+ | col1 | col2 | col3 | +----------+----------+--------+ | FPlayall | Football | FoPlay | +----------+----------+--------+ 1 row in set (0.04 sec)
Ia boleh dilihat daripada hasil pelaksanaan:
Yang pertama fungsiINSERT('Football',2,4,'Play')
Gantikan "Bola Sepak" dengan Main dengan rentetan panjang 4 bermula dari aksara ke-2, dan hasilnya ialah "FPlayall"; 🎜> -1 melebihi panjang rentetan dan mengembalikan rentetan asal secara langsung;
Fungsi ketiga INSERT('Football',-1,4,'Play')
jika panjang penggantian melebihi panjang rentetan asal, bermula dari Watak ke-3, Minta semua aksara seterusnya dan gantikan dengan watak yang ditentukan Hasilnya ialah "FoPlay".
[Cadangan berkaitan: INSERT('Football',3,20,'Play')
tutorial video mysql
Atas ialah kandungan terperinci Bagaimana untuk menggantikan sebahagian daripada rentetan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!