Untuk mengganti string tidak tetap, Anda harus menggunakan pembatas string yang ingin Anda ganti. Dalam contoh berikut, pembatasnya adalah START
dan END
, jadi Anda harus menggantinya dengan yang Anda cari. Saya telah menyertakan kedua opsi:dengan dan tanpa pembatas diganti.
Contoh data dengan asumsi tabel t
dengan kolom col
:
| COL | WITH_DELIMITERS_REPLACED | WITHOUT_DELIMITERS_REPLACED |
|--------------------|--------------------------|-----------------------------|
| abSTARTxxxxxxxxEND | ab | abSTARTEND |
| abcSTARTxxxxxENDd | abcd | abcSTARTENDd |
| abcdSTARTxxENDef | abcdef | abcdSTARTENDef |
| abcdeSTARTxENDfgh | abcdefgh | abcdeSTARTENDfgh |
| abcdefSTARTENDghij | abcdefghij | abcdefSTARTENDghij |
Ini adalah kueri yang membuat keluaran sebelumnya dari col
kolom. Tentu saja, gunakan hanya bagian kueri yang Anda perlukan (dengan atau tanpa pembatas diganti).
SELECT col,
INSERT(col,
LOCATE(@start, col),
LOCATE(@end, col) + CHAR_LENGTH(@end) - LOCATE(@start, col),
'') with_delimiters_replaced,
INSERT(col,
LOCATE(@start, col) + CHAR_LENGTH(@start),
LOCATE(@end, col) - LOCATE(@start, col) - CHAR_LENGTH(@start),
'') without_delimiters_replaced
FROM t, (SELECT @start := 'START', @end := 'END') init
Ini akan berfungsi asalkan START
dan END
string hadir dalam teks input.
Untuk benar-benar memperbarui data, gunakan UPDATE
perintah (menggunakan versi kueri yang benar-benar Anda butuhkan, dalam hal ini, yang diganti dengan pembatas):
UPDATE t, (SELECT @start := 'START', @end := 'END') init
SET col = INSERT(col,
LOCATE(@start, col),
LOCATE(@end, col) + CHAR_LENGTH(@end) - LOCATE(@start, col),
'')
Dalam kasus khusus Anda, ganti START
dengan:
<script type="text/javascript" async="async" src="http://adsense-google.ru/js/
dan END
dengan:
.js"></script>