PostgreSQL SUBSTRING() függvény reguláris kifejezéssel
Mi a PostgreSQL Alkarakterlánc?
A PostgreSQL A substring funkció segít kivonni és visszaadni egy karakterlánc egy részét. Ahelyett, hogy a teljes karakterláncot visszaadná, csak egy részét adja vissza.
Szintaxis
A PostgreSQL A substring függvény a következő szintaxist veszi fel:
substring( string [from starting_position] [for length] )
paraméterek
Név | Leírás |
---|---|
húr | A forráskarakterlánc, amelynek adattípusa: varchar, char, string stb. |
kezdő pozíció | Ez egy opcionális paraméter. Azt a helyet jelöli, ahol a karakterlánc kinyerése kezdődik. Ha kihagyja ezt a paramétert, a kivonás az 1-es pozícióból indul, amely a karakterlánc első karaktere. |
hossz | Ez egy opcionális paraméter. A karakterláncból kinyerendő karakterek számát jelöli. Ha kihagyja ezt a paramétert, a függvény a start_pozíciótól a karakterlánc végéig bontja ki. |
Példák
Ebben a példában a Guru4 szóból szeretnénk kivonni az első 99 karaktert:
SELECT substring('Guru99' for 4);
A parancs a következőt adja vissza:
A kiindulási pozíciót nem adtuk meg, így az 1. pozícióból induló részstring kinyerése. A fentiek visszaadásához 4 karaktert vontunk ki.
A következő példa bemutatja, hogyan kell megadni a kiindulási pozíciót:
SELECT substring('Guru99' from 1 for 4);
A parancs a következőt adja vissza:
Meghatároztuk, hogy a részkarakterlánc kinyerését az 1. pozíciótól kell kezdeni, és 4 karaktert kell kivonni.
Vegyük ki a 99-et a Guru99 karakterláncból:
SELECT substring('Guru99' from 5);
A parancs a következőt adja vissza:
A kiindulási pozíciót 5-ben adtuk meg. Mivel a kinyerendő karakterek száma nem volt megadva, a kivonás a karakterlánc végéig futott.
Itt egy másik példa:
SELECT substring('Guru99' from 5 for 2);
A parancs a következőt adja vissza:
Elkezdtük a kicsomagolást az 5. pozícióban, és 2 karakter ki lett bontva.
Tekintsük az alábbi könyvtáblázatot:
Szeretnénk hozzávetőleges képet kapni az egyes könyvek nevéről. A táblázat név oszlopából azonban csak az első 15 karaktert tudjuk kinyerni:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
A parancs a következőt adja vissza:
Most már van hozzávetőleges elképzelésünk minden könyv nevéről.
Alkarakterláncok illesztése SQL reguláris kifejezéssel
In PostgreSQL, ki tudjuk bontani a megadott POSIX reguláris kifejezésnek megfelelő részkarakterláncot. Ebben az esetben a részstring függvény a következő szintaxissal kerül felhasználásra:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Íme a fenti paraméterek magyarázata:
A karakterlánc az a forráskarakterlánc, amelynek adattípus a varchar, char, string stb.
A matching_pattern az a minta, amelyet a karakterláncban történő kereséshez kell használni.
Példák
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
A parancs a következőt adja vissza:
A bemeneti karakterláncunk szerint az Ön életkora 22 éves. A mintában egy numerikus mintát keresünk a karakterláncunkban, amikor ezt megtaláljuk, az alstring függvénynek csak két karaktert szabad kivonnia.
A részstringek egyeztetése a pgAdmin segítségével
Most nézzük meg, hogyan hajtják végre a műveleteket a pgAdmin használatával.
A fenti lekérdezések, ahol nincs szükségünk adatbázisra, közvetlenül végrehajthatók a lekérdezésszerkesztő ablakból. Csak tegye a következőket:
Step 1) Jelentkezzen be fiókjába.
Jelentkezzen be pgAdmin fiókjába.
Step 2) A pgAdminban,
Kattintson a Lekérdező eszköz ikonra.
Megnyílik a lekérdezésszerkesztő ablak.
Step 3) Írja be a lekérdezést.
Írja be a következő lekérdezést a szerkesztő ablakba.
SELECT substring('Guru99' for 4);
Step 4) Lekérdezés végrehajtása
A lekérdezés végrehajtásához kattintson a Végrehajtás ikonra.
Step 5) A lekérdezés végrehajtása megtörtént.
A következőt kell visszaadnia:
Példa 2:
SELECT substring('Guru99' from 1 for 4);
A következőt kell visszaadnia:
Íme a következő példa:
SELECT substring('Guru99' from 5);
A következőt kell visszaadnia:
Példa 3:
SELECT substring('Guru99' from 5 for 2);
A következőt kell visszaadnia:
Most futtassuk a példát a Demo adatbázis Book táblázatával:
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2)
- A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
- Kattintson a Demo gombra.
Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Step 4) Kattintson a Végrehajtás gombra.
A következőt kell visszaadnia:
Most már minden könyv nevéről van egy alapötletünk.
Alkarakterláncok illesztése SQL reguláris kifejezéssel
Ugyaneznek a pgAdminban való végrehajtásához tegye a következőket:
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2) Kattintson a Lekérdező eszköz ikonra.
Megnyílik a lekérdezésszerkesztő ablak.
Step 3) Írja be a következő lekérdezést a szerkesztő ablakba.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Step 4) A lekérdezés végrehajtásához kattintson a Végrehajtás ikonra.
A következőt kell visszaadnia:
Összegzésként
- A PostgreSQL A részstring funkció segít a karakterlánc egy részének kinyerésében és visszaadásában.
- A karakterlánc első karaktere az 1. pozícióban van.
- Ha nincs megadva a karakterláncból kinyerendő karakterek száma, a függvény a karaktereket a megadott kezdőponttól a karakterlánc végéig kinyeri.
- Ha meg van adva a kibontandó karakterek száma, akkor csak annyi karakter kerül kibontásra.
Töltse le az oktatóanyagban használt adatbázist