Samenvatting: in deze tutorial laten we zien hoe je MySQL REPLACE string functie kunt gebruiken om een substring te vervangen door een andere in een string.
Inleiding tot de MySQL REPLACE string-functie
MySQL biedt u een handige string-functie genaamd REPLACE
waarmee u een string in een kolom van een tabel kunt vervangen door een nieuwe string.
De syntaxis van de REPLACE
functie is als volgt:
Code language: SQL (Structured Query Language) (sql)REPLACE(str,old_string,new_string);
De REPLACE
functie heeft drie parameters. Het vervangt de old_string
door de new_string
in de string
Merk op dat er ook een verklaring is die REPLACE heet en gebruikt wordt om gegevens in te voegen of bij te werken. Je moet het REPLACE
statement niet verwarren met de REPLACE
string functie.
De REPLACE
functie is erg handig om tekst in een tabel te zoeken en te vervangen, zoals het bijwerken van een verouderde URL, het corrigeren van een spelfout, etc.
De syntaxis van het gebruik van de REPLACE
functie in een UPDATE statement is als volgt:
Code language: SQL (Structured Query Language) (sql)UPDATE tbl_name SET field_name = REPLACE(field_name, string_to_find, string_to_replace)WHERE conditions;
Note dat bij het zoeken naar tekst om te vervangen, MySQL de hoofdlettergevoelige match gebruikt om een zoekopdracht uit te voeren naar een string die vervangen moet worden.
MySSQL REPLACE string functie voorbeeld
Als u bijvoorbeeld de spelfout wilt corrigeren in de products
tabel in de voorbeelddatabase, dan gebruikt u de REPLACE
functie als volgt:
Code language: SQL (Structured Query Language) (sql)UPDATE products SET productDescription = REPLACE(productDescription, 'abuot', 'about');
De query vindt alle voorkomens van een spelfout abuot
en vervangt deze door het juiste woord about in de productDescription
kolom van de products
tabel.
Het is zeer belangrijk op te merken dat in de REPLACE
functie, de eerste parameter de kolomnaam is zonder aanhalingstekens (“). Als je de aanhalingstekens bij de veldnaam zet, zoals “field_name”, zal de query de inhoud van die kolom updaten naar “field_name”, wat onverwacht dataverlies veroorzaakt.
De REPLACE
-functie ondersteunt geen reguliere expressie, dus als u een tekststring door een patroon wilt vervangen, moet u MySQL door de gebruiker gedefinieerde functie (UDF) van een externe bibliotheek gebruiken, bekijk deze hier MySQL UDF met Regex
- Was deze tutorial nuttig?
- JaNee