Erstatt en streng i SQL

Erstatt En Streng I Sql



Tekstdata eller strenger, som utviklerne kaller dem, er en viktig byggestein for ethvert funksjonelt program. Dette er ikke annerledes når det gjelder lagring av data. Nesten alle databaser inneholder en eller annen form for tekstinformasjon som navn, logger osv.

Som sådan er strengmanipulering en vanlig oppgave som innebærer å manipulere og transformere strengverdiene til et spesifikt format.

En av de kraftigste funksjonene i SQL som omhandler strengoperasjoner er REGEXP_REPLACE()-funksjonen. Denne funksjonen lar oss utføre det regulære uttrykksbaserte søk og erstatning. Hvis du er kjent med regulært uttrykk, vet du hvor kraftig denne funksjonen kan være.







I denne opplæringen lærer vi hvordan vi kan bruke denne funksjonen til å søke og erstatte strengene i SQL-databasen.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() er en funksjon som lar oss utføre den regulære uttrykksbaserte mønstermatchingen og erstatningen innenfor en gitt streng.



Regulært uttrykk eller regex er et sett mønster og plassholdere som lar oss matche og manipulere strengene eller delstrengene som følger et spesifikt mønster.





Det er greit å huske på at hver databasemotor kan implementere syntaksen og funksjonaliteten til funksjonen litt.

Imidlertid kan vi uttrykke syntaksen som følger:



REGEXP_REPLACE(inndatastreng, mønster, erstatning [, flagg])

Funksjonsparametrene er som uttrykt som følger:

  1. input_string – Dette spesifiserer strengen vi ønsker å søke og erstatte innenfor.
  2. Mønster – Dette spesifiserer det regulære uttrykksmønsteret som vi ønsker å matche i inndatastrengen.
  3. Erstatning – Dette spesifiserer strengen som erstatter de samsvarende understrengene.
  4. Flagg – Et sett med valgfrie flagg som kan bidra til å endre funksjonaliteten til det regulære uttrykket. For eksempel kan vi aktivere globalt søk, samsvar mellom store og små bokstaver osv. Denne funksjonen varierer avhengig av databasemotoren.

Eksempler:

For bedre å forstå hvordan denne funksjonen fungerer, la oss se på noen eksempler på hvordan du bruker den.

Eksempel 1: Grunnleggende bruk

Anta at vi har en tabell som inneholder en ansattinformasjon som vist i følgende eksempelutgang:

Tenk på et tilfelle der vi ønsker å erstatte forekomsten av 'Charlie'-strengen til 'Matthew'. Vi kan bruke spørringen som følger:

PLUKKE UT

REGEXP_REPLACE(fornavn, 'Charlie', 'Matthew') AS nytt_navn

FRA

ansatte;

Det gitte eksemplet viser et grunnleggende søk og erstatt for å finne 'Charlie'-strengen fra 'first_name'-kolonnen og erstatte den med 'Matthew'.

Produksjon:

Eksempel 2: Erstatning uten store og små bokstaver

I noen tilfeller kan det være lurt å utføre et søk som ikke skiller mellom store og små bokstaver. Dette betyr at funksjonen kun vil se på strenginnholdet og ikke selve store og små bokstavene til de alfanumeriske bokstavene.

I et slikt tilfelle bruker vi 'i' som funksjonsflagget som følger:

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

FRA produkter;

Ved å sette flagget til «i», samsvarer funksjonen med alle ord som samsvarer med «Samsung», uavhengig av store og små bokstaver.

Konklusjon

I dette eksemplet undersøkte vi hvordan du bruker og arbeider med REGEXP_REPLACE()-funksjonen for å utføre et mønsterbasert søk og erstatt regeluttrykk.