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:

PostgreSQL Alkarakterlánc

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:

PostgreSQL Alkarakterlánc

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:

PostgreSQL Alkarakterlánc

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:

PostgreSQL Alkarakterlánc

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:

PostgreSQL Alkarakterlánc

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:

PostgreSQL Alkarakterlánc

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:

Alkarakterláncok illesztése SQL reguláris kifejezéssel

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.

Alkarakterláncok egyeztetése a pgAdmin használatával

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.

Alkarakterláncok egyeztetése a pgAdmin használatával

Step 5) A lekérdezés végrehajtása megtörtént.
A következőt kell visszaadnia:

Alkarakterláncok egyeztetése a pgAdmin használatával

Példa 2:

SELECT substring('Guru99' from 1 for 4);

A következőt kell visszaadnia:

Alkarakterláncok egyeztetése a pgAdmin használatával

Íme a következő példa:

SELECT substring('Guru99' from 5);

A következőt kell visszaadnia:

Alkarakterláncok egyeztetése a pgAdmin használatával

Példa 3:

SELECT substring('Guru99' from 5 for 2);

A következőt kell visszaadnia:

Alkarakterláncok egyeztetése a pgAdmin használatával

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)

  1. A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  2. Kattintson a Demo gombra.

Alkarakterláncok egyeztetése a pgAdmin használatával

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.

Alkarakterláncok egyeztetése a pgAdmin használatával

A következőt kell visszaadnia:

PostgreSQL Alkarakterlánc

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.

Alkarakterláncok illesztése SQL reguláris kifejezéssel

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.

Alkarakterláncok illesztése SQL reguláris kifejezéssel

A következőt kell visszaadnia:

Alkarakterláncok illesztése SQL reguláris kifejezéssel

Ö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