SQL REGEXP_REPLACE

Sql Regexp Replace



Tekstdata eller strenge, som udviklerne kalder dem, er en vigtig byggesten for ethvert funktionelt program. Dette er ikke anderledes, når det kommer til lagring af data. Næsten alle databaser indeholder en form for tekstinformation såsom navne, logfiler osv.

Som sådan er strengmanipulation en almindelig opgave, som involverer at manipulere og transformere strengværdierne til et specifikt format.

En af de mest kraftfulde funktioner i SQL, der beskæftiger sig med strengoperationer, er funktionen REGEXP_REPLACE(). Denne funktion giver os mulighed for at udføre den regulære udtryksbaserede søgning og erstatning. Hvis du er fortrolig med regulært udtryk, ved du, hvor kraftfuld denne funktion kan være.







I denne vejledning lærer vi, hvordan vi kan bruge denne funktion til at søge og erstatte strengene i SQL-databasen.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() er en funktion, der giver os mulighed for at udføre den regulære udtryksbaserede mønstermatchning og -erstatning inden for en given streng.



Regulært udtryk, eller regex, er et sæt mønster og pladsholdere, der giver os mulighed for at matche og manipulere de strenge eller understrenge, der følger et specifikt mønster.





Det er godt at huske på, at hver databasemotor kan implementere syntaksen og funktionaliteten af ​​funktionen en smule.

Vi kan dog udtrykke dens syntaks som følger:



REGEXP_REPLACE(input_streng, mønster, erstatning [, flag])

Funktionsparametrene er udtrykt i følgende:

  1. input_string – Dette specificerer den streng, inden for hvilken vi ønsker at søge og erstatte.
  2. Mønster – Dette angiver det regulære udtryksmønster, som vi ønsker at matche i inputstrengen.
  3. Erstatning – Dette specificerer den streng, der skal erstatte de matchede understrenge.
  4. Flag – Dette er et sæt valgfri flag, der kan hjælpe med at ændre funktionaliteten af ​​det regulære udtryk. For eksempel kan vi aktivere den globale søgning, matching uden forskel på store og små bogstaver osv. Denne funktion varierer afhængigt af databasemotoren.

Eksempler:

For bedre at forstå, hvordan denne funktion fungerer, lad os se på nogle eksempler på, hvordan man bruger den.

Eksempel 1: Grundlæggende brug

Antag, at vi har en tabel, der indeholder medarbejderoplysningerne som vist i følgende eksempeloutput:

Overvej et tilfælde, hvor vi ønsker at erstatte forekomsten af ​​'Charlie'-strengen til 'Matthew'. Vi kan bruge forespørgslen som følger:

VÆLG

REGEXP_REPLACE(fornavn, 'Charlie', 'Matthew') SOM nyt_navn

FRA

medarbejdere;

Det givne eksempel demonstrerer en grundlæggende søgning og erstat for at finde 'Charlie'-strengen fra kolonnen 'first_name' og erstatte den med 'Matthew'.

Produktion:

Eksempel 2: Udskiftning uden store og små bogstaver

I nogle tilfælde ønsker du måske at udføre en søgning uden store og små bogstaver. Det betyder, at funktionen kun vil se på strengindholdet og ikke selve de alfanumeriske bogstaver.

I et sådant tilfælde bruger vi 'i' som funktionsflag som følger:

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

FRA produkter;

Ved at sætte flaget til 'i', matcher funktionen alle ord, der matcher 'Samsung', uanset størrelsen.

Konklusion

I dette eksempel undersøgte vi, hvordan man bruger og arbejder med funktionen REGEXP_REPLACE() til at udføre den regulære udtryksmønsterbaserede søgning og erstatning.