Înlocuiți un șir în SQL

Inlocuiti Un Sir In Sql



Datele sau șirurile de caractere text, așa cum le numesc dezvoltatorii, reprezintă un element de construcție major pentru orice program funcțional. Acest lucru nu este diferit atunci când vine vorba de stocarea datelor. Aproape toate bazele de date conțin o anumită formă de informații text, cum ar fi nume, jurnale etc.

Ca atare, manipularea șirurilor este o sarcină comună care implică manipularea și transformarea valorilor șirurilor într-un format specific.

Una dintre cele mai puternice funcții din SQL care se ocupă de operațiuni cu șiruri este funcția REGEXP_REPLACE(). Această funcție ne permite să efectuăm căutarea și înlocuirea bazată pe expresii regulate. Dacă sunteți familiarizat cu expresia regulată, știți cât de puternică poate fi această funcție.







În acest tutorial, vom afla cum putem folosi această funcție pentru a căuta și înlocui șirurile din baza de date SQL.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() este o funcție care ne permite să efectuăm potrivirea și înlocuirea modelului bazat pe expresii regulate într-un șir dat.



Expresia regulată sau regex este un model set și substituenți care ne permit să potrivim și să manipulăm șirurile sau subșirurile care urmează un anumit model.





Este bine să rețineți că fiecare motor de bază de date poate implementa ușor sintaxa și funcționalitatea funcției.

Cu toate acestea, putem exprima sintaxa acesteia după cum urmează:



REGEXP_REPLACE(șir_input, model, înlocuire [, steaguri])

Parametrii funcției sunt exprimați după cum urmează:

  1. input_string – Acesta specifică șirul în care dorim să căutăm și să înlocuim.
  2. Model – Acesta specifică modelul de expresie regulată pe care dorim să-l potrivim în șirul de intrare.
  3. Înlocuire – Acesta specifică șirul care înlocuiește subșirurile potrivite.
  4. Steaguri – Un set de steaguri opționale care pot ajuta la modificarea funcționalității expresiei regulate. De exemplu, putem activa căutarea globală, potrivirea fără majuscule etc. Această caracteristică variază în funcție de motorul bazei de date.

Exemple:

Pentru a înțelege mai bine cum funcționează această funcție, să ne uităm la câteva exemple despre cum să o utilizați.

Exemplul 1: Utilizare de bază

Să presupunem că avem un tabel care conține informații despre angajat, așa cum se arată în următorul exemplu de rezultat:

Luați în considerare un caz în care dorim să înlocuim apariția șirului „Charlie” cu „Matthew”. Putem folosi interogarea după cum urmează:

SELECTAȚI

REGEXP_REPLACE(prenume, „Charlie”, „Matthew”) AS new_name

DIN

angajati;

Exemplul dat demonstrează o căutare de bază și înlocuire pentru a găsi șirul „Charlie” din coloana „first_name” și înlocuiți-l cu „Matthew”.

Ieșire:

Exemplul 2: Înlocuire fără majuscule

În unele cazuri, este posibil să doriți să efectuați o căutare care nu ține seama de majuscule și minuscule. Aceasta înseamnă că funcția se va uita doar la conținutul șirului de caractere și nu la majusculă reală a literelor alfanumerice.

Într-un astfel de caz, folosim „i” ca indicator al funcției, după cum urmează:

SELECTARE REGEXP_REPLACE(descrierea_produsului, Samsung, Apple, „i”) AS modificat

DIN produse;

Prin setarea steagului la „i”, funcția se potrivește cu toate cuvintele care se potrivesc cu „Samsung”, indiferent de carcasă.

Concluzie

În acest exemplu, am explorat cum să folosim și să lucrăm cu funcția REGEXP_REPLACE() pentru a efectua o căutare și înlocuire bazată pe modele de expresii regulate.