SQL REGEXP_REPLACE

Sql Regexp Replace



A szöveges adatok vagy karakterláncok, ahogy a fejlesztők nevezik őket, minden funkcionális program fő építőkövei. Nincs ez másként az adatok tárolásánál sem. Szinte minden adatbázis tartalmaz valamilyen szöveges információt, például neveket, naplókat stb.

Mint ilyen, a karakterlánc-manipuláció gyakori feladat, amely magában foglalja a karakterlánc-értékek manipulálását és átalakítását egy adott formátumba.

Az SQL egyik legerősebb, karakterlánc-műveletekkel foglalkozó függvénye a REGEXP_REPLACE() függvény. Ez a funkció lehetővé teszi a reguláris kifejezés alapú keresés és csere végrehajtását. Ha ismeri a reguláris kifejezést, tudja, milyen erős lehet ez a függvény.







Ebben az oktatóanyagban megtudjuk, hogyan használhatjuk ezt a funkciót az SQL-adatbázisban lévő karakterláncok keresésére és cseréjére.



SQL REGEXP_REPLACE

Az SQL REGEXP_REPLACE() egy olyan függvény, amely lehetővé teszi, hogy reguláris kifejezés alapú mintaillesztést és cserét hajtsunk végre egy adott karakterláncon belül.



A reguláris kifejezés vagy a regex egy beállított minta és helyőrzők, amelyek lehetővé teszik számunkra, hogy egy adott mintát követő karakterláncokat vagy részkarakterláncokat egyeztetjük és kezeljük.





Nem árt észben tartani, hogy minden adatbázis-motor némileg megvalósíthatja a függvény szintaxisát és funkcióit.

A szintaxisát azonban a következőképpen fejezhetjük ki:



REGEXP_REPLACE(bemeneti_karakterlánc, minta, helyettesítő [, zászlók])

A funkció paraméterei a következőkben vannak kifejezve:

  1. input_string – Megadja azt a karakterláncot, amelyen belül keresni és lecserélni szeretnénk.
  2. Minta – Megadja azt a reguláris kifejezésmintát, amelyet a bemeneti karakterláncon belül egyeztetni szeretnénk.
  3. Csere – Megadja azt a karakterláncot, amely lecseréli az egyező részkarakterláncokat.
  4. Flags – Ez egy olyan opcionális jelzőkészlet, amely segíthet a reguláris kifejezés funkcióinak módosításában. Például engedélyezhetjük a globális keresést, a kis- és nagybetűk megkülönböztetését, stb. Ez a funkció az adatbázis-motortól függően változik.

Példák:

A funkció működésének jobb megértése érdekében nézzünk meg néhány példát a használatára.

1. példa: Alapvető használat

Tegyük fel, hogy van egy táblázatunk, amely az alkalmazotti információkat tartalmazza, amint az a következő példakimenetben látható:

Vegyünk egy esetet, amikor a „Charlie” karakterlánc előfordulását „Matthew”-ra szeretnénk cserélni. A lekérdezést a következőképpen használhatjuk:

KIVÁLASZTÁS

REGEXP_REPLACE(utónév, 'Charlie', 'Matthew') AS új_név

TÓL TŐL

alkalmazottak;

A megadott példa egy egyszerű keresést és cserét mutat be, hogy megtalálja a „Charlie” karakterláncot a „first_name” oszlopban, és cserélje le a „Matthew”-ra.

Kimenet:

2. példa: Kis- és nagybetűket nem érzékeny csere

Egyes esetekben érdemes lehet kis- és nagybetűket nem érzékeny keresést végezni. Ez azt jelenti, hogy a függvény csak a karakterlánc tartalmát nézi, és nem az alfanumerikus betűk tényleges kis- és nagybetűjét.

Ilyen esetben az „i”-t használjuk függvényjelzőként az alábbiak szerint:

SELECT REGEXP_REPLACE(termékleírás, Samsung, Apple, 'i') AS módosítva

A termékekből;

Ha a jelzőt „i”-re állítja, a funkció a kis- és nagybetűktől függetlenül minden olyan szóra illeszkedik, amely megfelel a „Samsung” szónak.

Következtetés

Ebben a példában megvizsgáltuk, hogyan használhatjuk és dolgozzuk fel a REGEXP_REPLACE() függvényt a reguláris kifejezés-minta alapú keresés és csere végrehajtásához.