Vervang een tekenreeks in SQL

Vervang Een Tekenreeks In Sql



Tekstgegevens of tekenreeksen, zoals de ontwikkelaars ze noemen, vormen een belangrijke bouwsteen voor elk functioneel programma. Bij het opslaan van de gegevens is dit niet anders. Bijna alle databases bevatten enige vorm van tekstinformatie, zoals namen, logs, enz.

Als zodanig is stringmanipulatie een veel voorkomende taak, waarbij de stringwaarden naar een specifiek formaat worden gemanipuleerd en getransformeerd.

Een van de krachtigste functies in SQL die zich bezighoudt met tekenreeksbewerkingen is de functie REGEXP_REPLACE(). Met deze functie kunnen we zoeken en vervangen op basis van reguliere expressies uitvoeren. Als u bekend bent met reguliere expressies, weet u hoe krachtig deze functie kan zijn.







In deze zelfstudie leren we hoe we deze functie kunnen gebruiken om de tekenreeksen in de SQL-database te zoeken en te vervangen.



SQL REGEXP_REPLACE

De SQL REGEXP_REPLACE() is een functie waarmee we op reguliere expressies gebaseerde patroonmatching en -vervanging binnen een bepaalde tekenreeks kunnen uitvoeren.



Reguliere expressie of regex is een vast patroon en tijdelijke aanduidingen waarmee we de tekenreeksen of subtekenreeksen die een specifiek patroon volgen, kunnen matchen en manipuleren.





Het is goed om in gedachten te houden dat elke database-engine de syntaxis en functionaliteit van de functie enigszins kan implementeren.

We kunnen de syntaxis ervan echter als volgt uitdrukken:



REGEXP_REPLACE(invoerreeks, patroon, vervanging [, vlaggen])

De functieparameters worden als volgt uitgedrukt:

  1. input_string – Dit specificeert de string waarbinnen we willen zoeken en vervangen.
  2. Patroon – Dit specificeert het reguliere expressiepatroon dat we willen matchen binnen de invoerreeks.
  3. Vervanging – Dit specificeert de tekenreeks die de overeenkomende subtekenreeksen vervangt.
  4. Vlaggen – Een set optionele vlaggen die kunnen helpen de functionaliteit van de reguliere expressie te wijzigen. We kunnen bijvoorbeeld de globale zoekfunctie, hoofdletterongevoelige matching, enz. inschakelen. Deze functie varieert afhankelijk van de database-engine.

Voorbeelden:

Laten we, om beter te begrijpen hoe deze functie werkt, enkele voorbeelden bekijken van hoe u deze kunt gebruiken.

Voorbeeld 1: Basisgebruik

Stel dat we een tabel hebben met werknemersinformatie, zoals weergegeven in de volgende voorbeelduitvoer:

Beschouw een geval waarin we het voorkomen van de tekenreeks 'Charlie' willen vervangen door 'Matthew'. We kunnen de query als volgt gebruiken:

SELECTEER

REGEXP_REPLACE(voornaam, 'Charlie', 'Matthew') AS nieuwe_naam

VAN

medewerkers;

Het gegeven voorbeeld demonstreert een eenvoudige zoek- en vervangfunctie om de tekenreeks 'Charlie' uit de kolom 'voornaam' te vinden en deze te vervangen door 'Matthew'.

Uitgang:

Voorbeeld 2: Hoofdletterongevoelige vervanging

In sommige gevallen wilt u mogelijk een hoofdletterongevoelige zoekopdracht uitvoeren. Dit betekent dat de functie alleen naar de inhoud van de tekenreeks kijkt en niet naar de daadwerkelijke hoofdletters van de alfanumerieke letters.

In een dergelijk geval gebruiken we de “i” als functievlag als volgt:

SELECT REGEXP_REPLACE(product_description, Samsung, Apple, 'i') AS gewijzigd

VAN producten;

Door de vlag op “i” te zetten, matcht de functie met alle woorden die overeenkomen met “Samsung”, ongeacht de behuizing.

Conclusie

In dit voorbeeld hebben we onderzocht hoe we de functie REGEXP_REPLACE() kunnen gebruiken en ermee kunnen werken om op patronen gebaseerd zoeken en vervangen op reguliere expressies uit te voeren.