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.