SQL REGEXP_REPLACE

Sql Regexp Replace



Tekstidata tai merkkijono, kuten kehittäjät niitä kutsuvat, ovat minkä tahansa toiminnallisen ohjelman tärkeä rakennuspalikka. Tämä ei eroa tietojen tallentamisesta. Melkein kaikki tietokannat sisältävät jonkinlaista tekstitietoa, kuten nimiä, lokeja jne.

Sellaisenaan merkkijonojen käsittely on yleinen tehtävä, joka sisältää merkkijonoarvojen manipuloinnin ja muuntamisen tiettyyn muotoon.

Yksi SQL:n tehokkaimmista merkkijonotoimintoja käsittelevistä funktioista on REGEXP_REPLACE()-funktio. Tämän toiminnon avulla voimme suorittaa säännölliseen lausekkeeseen perustuvan haun ja korvauksen. Jos olet perehtynyt säännölliseen lausekkeeseen, tiedät kuinka tehokas tämä funktio voi olla.







Tässä opetusohjelmassa opimme, kuinka voimme käyttää tätä toimintoa merkkijonojen etsimiseen ja korvaamiseen SQL-tietokannasta.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() on funktio, jonka avulla voimme suorittaa säännölliseen lausekkeeseen perustuvan kuvion sovituksen ja korvauksen tietyn merkkijonon sisällä.



Säännöllinen lauseke tai säännöllinen lauseke on asetettu kuvio ja paikkamerkit, joiden avulla voimme sovittaa ja muokata merkkijonoja tai alimerkkijonoja, jotka noudattavat tiettyä kaavaa.





On hyvä pitää mielessä, että jokainen tietokantakone saattaa hieman toteuttaa funktion syntaksia ja toimintoja.

Voimme kuitenkin ilmaista sen syntaksin seuraavasti:



REGEXP_REPLACE(syöttömerkkijono, kuvio, korvaava [, liput])

Toimintoparametrit ilmaistaan ​​seuraavasti:

  1. input_string – Tämä määrittää merkkijonon, josta haluamme etsiä ja korvata.
  2. Pattern – Tämä määrittää säännöllisen lausekkeen mallin, jonka haluamme sopia syötemerkkijonossa.
  3. Korvaaminen – Tämä määrittää merkkijonon, joka korvaa vastaavat osamerkkijonot.
  4. Liput – Tämä on joukko valinnaisia ​​lippuja, jotka voivat auttaa muokkaamaan säännöllisen lausekkeen toimintoja. Voimme esimerkiksi ottaa käyttöön yleisen haun, kirjainkoolla välittömän vastaavuuden jne. Tämä ominaisuus vaihtelee tietokantakoneen mukaan.

Esimerkkejä:

Ymmärtääksemme paremmin, kuinka tämä toiminto toimii, katsokaamme joitain esimerkkejä sen käytöstä.

Esimerkki 1: Peruskäyttö

Oletetaan, että meillä on taulukko, joka sisältää työntekijätiedot seuraavan esimerkkitulosteen mukaisesti:

Harkitse tapausta, jossa haluamme korvata 'Charlie'-merkkijonon esiintymisen 'Matthew'. Voimme käyttää kyselyä seuraavasti:

VALITSE

REGEXP_REPLACE(etunimi, 'Charlie', 'Matthew') AS uusi_nimi

FROM

työntekijät;

Annettu esimerkki havainnollistaa perushaun ja korvaamisen löytääksesi 'Charlie'-merkkijonon 'first_name'-sarakkeesta ja korvaamalla sen sanalla 'Matthew'.

Lähtö:

Esimerkki 2: Kirjainkoolla välitön vaihto

Joissakin tapauksissa saatat haluta suorittaa haun, jossa kirjainkoko ei eroa. Tämä tarkoittaa, että toiminto tarkastelee vain merkkijonon sisältöä, ei aakkosnumeeristen kirjainten todellista koteloa.

Tässä tapauksessa käytämme 'i' funktiolippuna seuraavasti:

SELECT REGEXP_REPLACE(tuotteen_kuvaus, Samsung, Apple, 'i') AS muokattu

FROM tuotteet;

Asettamalla lipun arvoon 'i', toiminto vastaa kaikkia sanoja, jotka vastaavat sanaa 'Samsung', isosta kirjaimesta riippumatta.

Johtopäätös

Tässä esimerkissä tutkimme, kuinka REGEXP_REPLACE()-funktiota käytetään säännölliseen lausekkeeseen perustuvan haun ja korvauksen suorittamiseksi.