Zamenjaj niz v SQL

Zamenjaj Niz V Sql



Besedilni podatki ali nizi, kot jih imenujejo razvijalci, so glavni gradnik katerega koli funkcionalnega programa. To ni nič drugače, ko gre za shranjevanje podatkov. Skoraj vse baze podatkov vsebujejo neko obliko besedilnih informacij, kot so imena, dnevniki itd.

Manipulacija z nizi je kot taka običajna naloga, ki vključuje manipulacijo in pretvorbo vrednosti nizov v določeno obliko.

Ena najmočnejših funkcij v SQL, ki se ukvarja z operacijami nizov, je funkcija REGEXP_REPLACE(). Ta funkcija nam omogoča izvajanje iskanja in zamenjave na osnovi regularnih izrazov. Če ste seznanjeni z regularnimi izrazi, veste, kako močna je lahko ta funkcija.







V tej vadnici se bomo naučili, kako lahko uporabimo to funkcijo za iskanje in zamenjavo nizov v bazi podatkov SQL.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() je funkcija, ki nam omogoča izvajanje ujemanja in zamenjave vzorcev na podlagi regularnega izraza v danem nizu.



Regularni izraz ali regularni izraz je nastavljen vzorec in ograda, ki nam omogoča ujemanje in upravljanje nizov ali podnizov, ki sledijo določenemu vzorcu.





Dobro je imeti v mislih, da lahko vsak mehanizem zbirke podatkov nekoliko implementira sintakso in funkcionalnost funkcije.

Vendar pa lahko njegovo sintakso izrazimo na naslednji način:



REGEXP_REPLACE(vhodni_niz, vzorec, zamenjava [, zastavice])

Funkcijski parametri so izraženi na naslednji način:

  1. input_string – To določa niz, znotraj katerega želimo iskati in zamenjati.
  2. Vzorec – To določa vzorec regularnega izraza, ki ga želimo ujemati znotraj vhodnega niza.
  3. Zamenjava – To določa niz, ki nadomesti ujemajoče se podnize.
  4. Zastavice – Niz izbirnih zastavic, ki lahko pomagajo spremeniti funkcionalnost regularnega izraza. Omogočimo lahko na primer globalno iskanje, ujemanje brez razlikovanja med velikimi in malimi črkami itd. Ta funkcija se razlikuje glede na pogon baze podatkov.

Primeri:

Da bi bolje razumeli, kako deluje ta funkcija, si poglejmo nekaj primerov, kako jo uporabljati.

Primer 1: Osnovna uporaba

Recimo, da imamo tabelo, ki vsebuje podatke o zaposlenem, kot je prikazano v naslednjem primeru izhoda:

Razmislite o primeru, ko želimo nadomestiti pojavljanje niza 'Charlie' z 'Matthew'. Poizvedbo lahko uporabimo na naslednji način:

IZBERI

REGEXP_REPLACE(ime, 'Charlie', 'Matej') AS novo_ime

OD

zaposleni;

Navedeni primer prikazuje osnovno iskanje in zamenjavo za iskanje niza »Charlie« iz stolpca »first_name« in njegovo zamenjavo z »Matthew«.

Izhod:

Primer 2: Zamenjava brez razlikovanja med velikimi in malimi črkami

V nekaterih primerih boste morda želeli izvesti iskanje brez upoštevanja velikih in malih črk. To pomeni, da bo funkcija pogledala samo vsebino niza in ne dejanskih velikih in malih črk alfanumeričnih črk.

V takem primeru uporabimo 'i' kot funkcijsko zastavico, kot sledi:

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

IZ izdelkov;

Z nastavitvijo zastavice na »i« funkcija ujema vse besede, ki se ujemajo s »Samsung«, ne glede na veliko začetnico.

Zaključek

V tem primeru smo raziskali, kako uporabljati in delati s funkcijo REGEXP_REPLACE() za izvajanje iskanja in zamenjave na podlagi vzorcev regularnega izraza.