Hozzon létre karakterláncok részláncait a PostgreSQL-ben

Hozzon Letre Karakterlancok Reszlancait A Postgresql Ben



Vannak esetek, amikor egy adott szakaszt (alkarakterláncot) szeretne kivonni egy karakterláncból. Előfordulhat, hogy csak az adott szakasz érdekli, és ki akarja hagyni a karakterlánc másik részét a kimenetből. Képzeljünk el egy olyan esetet, amikor egy teljes név, például „fname lname” van egy karakterláncként, és csak az „fname”-t szeretné kivonni a kimenetből. Ehhez a PostgreSQL részstring függvényt kell használnia. Készítettünk egy részletes útmutatót, amelyet követni kell, példákkal, amelyek segítenek megérteni, hogyan hozhat létre karakterláncok részkarakterláncait a PostgreSQL-ben.

Példák karakterláncok részkarakterláncainak létrehozására a PostgreSQL-ben

Az első dolog, amit ellenőriznünk kell, a szintaxis.

SUBSTRING(karakterlánc/oszlop_neve, kezdőpozíció, hossza)

A megadott szintaxisban megadhatja a karakterláncot, amelyből részkarakterláncot szeretne létrehozni, vagy megadhatja a táblázat oszlopát. Ezután meg kell adnia azt a pozíciót a karakterláncban, ahonnan az alkarakterláncot ki szeretné kezdeni. Végül adja meg az alkarakterlánc hosszát vagy a karakterlánc végpozícióját. Lássunk néhány példát, hogy működés közben is lássuk.







1. példa: Adja meg a részkarakterlánc hosszát

Ha megvan a célkarakterlánc, beállíthatja, hogy milyen hosszú legyen az alkarakterlánc. Például, ha a karakterlánc „Linuxhint”-ként van megadva, és az alsztringet „Linux”-ként szeretné létrehozni, hajtsa végre a következő parancsot:



SELECT SUBSTRING('Linuxhint' FROM 1 FOR 5) AS felhasználónév;

A FROM kulcsszót használjuk a kiindulási pozíciónk megadására, a FOR kulcsszót pedig az alkarakterlánc hosszának megadására. A „felhasználónév” az a név, amelyet a kimenetünknek adunk.



A parancs végrehajtásával a következő kimenetet kapjuk. Figyeljük meg, hogyan kaptuk meg a kívánt részkarakterláncot kimenetként:





Tegyük fel, hogy az alkarakterláncot a karakterlánc egy másik kezdőpontjából szeretné létrehozni. Például, ha „hint”-et szeretne részkarakterláncként, egyszerűen módosítsa a kezdő pozíciót és a hosszt.



Ehhez a következőképpen hajtjuk végre a parancsunkat:

2. példa: Adja meg a részkarakterlánc pozícióját

Néha előfordulhat, hogy megvan a karakterlánc, de nem tudja a részkarakterlánc pontos hosszát. Megadhatja azonban, hogy melyik pozícióban kezdje el az alkarakterlánc létrehozását. A kimenet megjeleníti az összes karakterlánc szakaszt a megadott pozíciótól a végéig.

Ebben a példában a „Hello Linuxhint” karakterláncot használjuk. Ahhoz, hogy a „Linuxhint” részkarakterláncot kaphassuk anélkül, hogy megadnánk a pozícióját, csak meg kell adnunk, hogy melyik pozícióban szeretnénk létrehozni az alsztringet. Ebben az esetben a 6. pozícióból indulunk. Így a parancsunk a következő:

SELECT SUBSTRING('Hello Linuxhint' FROM 6) AS felhasználónév;

3. példa: Adja meg a kezdő és végpozíciót

Adott egy karakterlánc, akkor létrehozhat egy részkarakterláncot a kezdő és a végpozíció megadásával. Így még akkor is, ha a karakterlánc hossza hosszabb, mint a kívánt részkarakterlánc, csak a megadott kezdő- és végpozíció alapján hozza létre.

A „Hello Linuxhint” karakterláncot használva létrehozhatjuk az alkarakterláncunkat „Hello Linux” néven, és kihagyhatjuk a többi szakaszt a következő kezdő és végpozíciók megadásával:

SELECT SUBSTRING('Hello Linuxhint', 1, 11) AS felhasználónév;

Ebben az esetben nincs szükség kulcsszóra, csak a kezdő és a végpozícióra.

4. példa: Munkavégzés PostgreSQL táblával

Létrehozhat egy részkarakterláncot is a táblázat egy adott oszlopából kiválasztott értékek alapján. Példánkban a „vevők” táblát használjuk.

Tegyük fel, hogy a „cust_email” oszlopot célozzuk meg, és egy részkarakterláncot szeretnénk létrehozni a hossz megadásával. Parancsunk a következő lenne:

Figyelje meg, hogy az oszlop minden egyes értékénél a kimenet az eredeti karakterlánc 3 hosszúságú részkarakterlánca.

Frissítsük a táblázatot egy teljes névvel a név oszlopban. Új táblázatunk a következőképpen néz ki:

Most, ha csak az első részt akarjuk kivonni a név oszlopból, amely minden ügyfelünk keresztneve, akkor a név oszlophoz egy részkarakterlánc létrehozása megteszi a trükköt. Itt meg kell adnunk a kiindulási pozíciót. Az alkarakterlánc hosszát úgy állítjuk be, hogy minden karakterláncban az a hely legyen, ahol szóköz van.

A szóköz jelzi a kereszt- és vezetéknév elválasztását. Így a parancsunk ellenőrzi azt a helyet, ahol a szóköz kezdődik a karakterláncban. Ezután válassza ki az alkarakterláncot az első pozíciótól a szóközzel való találkozásig.

Parancsunkat a következőképpen futtatjuk:

SELECT order_id, SUBSTRING(név FROM 1 FOR POSITION( ‘ ‘ IN név) – 1) AS kliens_fnév FROM ügyfelek;

Kiválasztjuk az „order_id”-t és az alkarakterláncot, és a kimenet a következőképpen jelenik meg:

Így hozhat létre részkarakterláncokat egy PostgreSQL táblában lévő karakterláncokból.

Következtetés

A PostgreSQL az alstring függvényt kínálja, amely lehetővé teszi a felhasználók számára, hogy különböző feltételek alapján alkossanak egy részstringet. A céltól függően megadhatja a részkarakterlánc hosszát vagy a kezdő és végpozíciót. Az ebben a bejegyzésben tárgyalt példák segítenek abban, hogy kényelmesebben tudjon létrehozni részkarakterláncokat a PostgreSQL-ben. Gyakorolj tovább a fogalom megértéséhez.