Zamijenite niz u SQL-u

Zamijenite Niz U Sql U



Tekstualni podaci ili nizovi, kako ih programeri nazivaju, glavni su građevni blok svakog funkcionalnog programa. To nije ništa drugačije kada je u pitanju pohranjivanje podataka. Gotovo sve baze podataka sadrže neki oblik tekstualnih informacija kao što su imena, zapisnici itd.

Kao takva, manipulacija nizom je uobičajen zadatak koji uključuje manipulaciju i transformaciju vrijednosti niza u određeni format.

Jedna od najmoćnijih funkcija u SQL-u koja se bavi operacijama nizova je funkcija REGEXP_REPLACE(). Ova nam funkcija omogućuje izvođenje pretraživanja i zamjene temeljenog na regularnom izrazu. Ako ste upoznati s regularnim izrazom, znate koliko moćna ova funkcija može biti.







U ovom vodiču naučit ćemo kako možemo koristiti ovu funkciju za pretraživanje i zamjenu nizova u SQL bazi podataka.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() je funkcija koja nam omogućuje izvođenje podudaranja i zamjene uzorka temeljenog na regularnom izrazu unutar zadanog niza.



Regularni izraz ili regularni izraz je postavljeni uzorak i rezervirana mjesta koji nam omogućuju podudaranje i manipuliranje nizovima ili podnizovima koji slijede određeni obrazac.





Dobro je imati na umu da svaki motor baze podataka može malo implementirati sintaksu i funkcionalnost funkcije.

Međutim, njegovu sintaksu možemo izraziti na sljedeći način:



REGEXP_REPLACE(ulazni_niz, uzorak, zamjena [, zastavice])

Parametri funkcije izraženi su kako slijedi:

  1. input_string – Ovo specificira niz unutar kojeg želimo pretraživati ​​i zamijeniti.
  2. Uzorak – Ovo specificira uzorak regularnog izraza koji želimo uskladiti unutar ulaznog niza.
  3. Zamjena – Ovo specificira niz koji zamjenjuje podudarne podnizove.
  4. Zastavice – Skup neobaveznih zastavica koje mogu pomoći u modificiranju funkcionalnosti regularnog izraza. Na primjer, možemo omogućiti globalno pretraživanje, podudaranje bez obzira na velika i mala slova, itd. Ova se značajka razlikuje ovisno o pogonu baze podataka.

Primjeri:

Da bismo bolje razumjeli kako ova funkcija radi, pogledajmo neke primjere kako je koristiti.

Primjer 1: Osnovna upotreba

Pretpostavimo da imamo tablicu koja sadrži podatke o zaposleniku kao što je prikazano u sljedećem primjeru izlaza:

Razmotrimo slučaj u kojem želimo zamijeniti niz 'Charlie' u 'Matthew'. Upit možemo koristiti na sljedeći način:

IZABERI

REGEXP_REPLACE(first_name, 'Charlie', 'Matthew') AS new_name

IZ

zaposlenici;

Navedeni primjer pokazuje osnovno pretraživanje i zamjenu za pronalaženje niza 'Charlie' iz stupca 'first_name' i njegovu zamjenu s 'Matthew'.

Izlaz:

Primjer 2: Zamjena bez obzira na velika i mala slova

U nekim slučajevima možda ćete htjeti izvršiti pretraživanje bez obzira na velika i mala slova. To znači da će funkcija gledati samo sadržaj niza, a ne stvarna velika i mala slova alfanumeričkih slova.

U tom slučaju koristimo 'i' kao oznaku funkcije na sljedeći način:

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

OD proizvoda;

Postavljanjem zastavice na 'i', funkcija odgovara svim riječima koje odgovaraju 'Samsung', bez obzira na velika i mala slova.

Zaključak

U ovom smo primjeru istražili kako koristiti i raditi s funkcijom REGEXP_REPLACE() za izvođenje pretraživanja i zamjene na temelju uzorka regularnog izraza.