PostgreSQL SUBSTRING() függvény reguláris kifejezéssel

Mi a PostgreSQL Alkarakterlánc?

Az PostgreSQL a substring függvény segít a példákbantract és egy karakterlánc egy részét adja vissza. A teljes karakterlánc visszaadása helyett csak annak egy részét adja vissza.

Szintaxis

Az 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 az ex.tracA karakterlánc végrehajtása megkezdődik. Ha kihagyja ezt a paramétert, a példatracA kifejezés az 1. pozíciótól kezdődik, ami a karakterlánc első karaktere.
hossz Ez egy opcionális paraméter. A kiírandó karakterek számát jelöli.traca karakterláncból. Ha elhagyja ezt a paramétert, a függvény a következőt fogja kiszámolni:tract a kezdő_pozíciótól a karakterlánc végéig.

Példák

Ebben a példában azt szeretnénk kideríteni, hogytraca szó első 4 karaktere Guru99:

SELECT substring('Guru99' for 4);

A parancs a következőt adja vissza:

PostgreSQL Alkarakterlánc

Nem adtuk meg a kiindulási pozíciót, így az extracaz alkarakterlánc 1. pozíciótól kezdődő 4 karakter volttracvissza kell adnia a fentieket.

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 az extracAz alkarakterlánc expressziójának az 1. pozíciótól kell kezdődnie, és 4 karakternek kell lennie.tracted.

Nézzük meg pl.tract 99 a húrból Guru99:

SELECT substring('Guru99' from 5);

A parancs a következőt adja vissza:

PostgreSQL Alkarakterlánc

A kezdőpozíciót 5-nek adtuk meg. Mivel a végrehajtandó karakterek számatracTed nevét nem nevezték meg, az extraca ció a húr 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 az ex-ttracció az 5. pozícióban, és 2 karakter lett kiírvatracted.

Tekintsük az alábbi könyvtáblázatot:

PostgreSQL Alkarakterlánc

Szeretnénk egy nagyjából pontos képet kapni az egyes könyvek címéről. Azonban ki tudjuk próbálnitraccsak a tábla név oszlopának első 15 karaktere:

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 mutatnitracegy megadott POSIX reguláris kifejezésnek megfelelő részkarakterlánc. Ebben az esetben a részkarakterlánc függvényt a következő szintaxissal használjuk:

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 a következő: az életkorod 22. A mintában numerikus mintát keresünk a karakterláncban, amikor ezt megtaláljuk, az alkarakterlánc függvénynek csak akkor szabad kiírniatrackét karakter.

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

  • Az PostgreSQL A részkarakterlánc függvény például a következő esetekben segít:traccsak egy karakterlánc egy részének megadása és visszaadása.
  • A karakterlánc első karaktere az 1. pozícióban van.
  • Ha a kiszámolandó karakterek számatracHa a karakterláncból származó ted nincs megadva, a függvény ki fogja próbálnitract karakter a megadott kezdőpozíciótól a karakterlánc végéig.
  • Ha a kiszámolandó karakterek számatracHa a ted meg van adva, akkor csak az adott számú karakter lesz extracted.

Töltse le az oktatóanyagban használt adatbázist

Foglald össze ezt a bejegyzést a következőképpen: