Rumah >pangkalan data >tutorial mysql >Bagaimana Menggantikan Berbilang Rentetan dengan Betul dalam Rekod MySQL Menggunakan Fungsi `REPLACE()`?

Bagaimana Menggantikan Berbilang Rentetan dengan Betul dalam Rekod MySQL Menggunakan Fungsi `REPLACE()`?

DDD
DDDasal
2024-12-05 13:21:10698semak imbas

How to Correctly Replace Multiple Strings in MySQL Records Using the `REPLACE()` Function?

Menggantikan Rentetan dalam Berbilang Rekod MySQL menggunakan replace()

Masalah:

Pangkalan data mengandungi rekod dengan data yang rosak dalam lajur tertentu. Khususnya, aksara tertentu telah tersilap melarikan diri, mengganggu kefungsian pautan yang dijana. Objektifnya adalah untuk menggantikan aksara yang salah ini dalam semua rekod yang terjejas menggunakan fungsi MySQL replace().

Penyelesaian:

Untuk menggunakan fungsi replace() dalam MySQL , ikut sintaks:

UPDATE MyTable
SET StringColumn = REPLACE(StringColumn, 'SearchForThis', 'ReplaceWithThis')
WHERE SomeOtherColumn LIKE '%PATTERN%';

Dalam senario yang disediakan, kita perlu menggantikan rentetan "<" dengan kurungan sudut literal "<" dalam lajur artikelItem untuk semua rekod yang mengandungi "<". Memandangkan kemungkinan aksara ini telah dilarikan ke "GREATERTHAN", pertanyaannya adalah seperti berikut:

UPDATE MyTable
SET articleItem = REPLACE(articleItem, 'GREATERTHAN', '>');</p>
<p>Jika terdapat berbilang aksara yang memerlukan penggantian, fungsi replace() boleh disarangkan:</p> <pre class="brush:php;toolbar:false">UPDATE MyTable
SET articleItem = REPLACE(REPLACE(articleItem, 'GREATERTHAN', '>'), 'LESSTHAN', '<');

Pendekatan Pertanyaan Tunggal:

pertanyaan di atas boleh digunakan untuk menggantikan berbilang aksara dalam satu pertanyaan. Anda juga boleh melakukan penggantian semasa memilih data:

SELECT REPLACE(MyURLString, 'GREATERTHAN', '>') AS MyURLString
FROM MyTable;

Dalam contoh ini, rentetan yang diganti dikembalikan sebagai MyURLString dan bukannya mengemas kini lajur asal.

Atas ialah kandungan terperinci Bagaimana Menggantikan Berbilang Rentetan dengan Betul dalam Rekod MySQL Menggunakan Fungsi `REPLACE()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn