PostgreSQL karakterlánc funkciók
A PostgreSQL nagyon hatékony objektum-relációs adatbázis-kezelő rendszer. Számos funkciót és operátort biztosít a beépített adattípusokhoz, ezáltal mentesíti a fejlesztőket az egyszerűbb feladatoktól és a nagyobb probléma megoldására összpontosít. A beépített függvények egyik ilyen kategóriája a PostgreSQL karakterláncfüggvények. A húros formázás, például összefűzés, egy bizonyos formátumban történő megjelenítés, részsorozatok beszúrása / törlése stb. Időnként unalmas feladat lehet. A PostgreSQL karakterlánc-funkciók ezt gondoskodnak az Ön számára.
A PostgreSQL számos olyan funkciót tartalmaz, amelyeket a szokásos SQL funkciók nem határoznak meg. Ez a fejlesztők számára olyan hatalmas horizontot biztosít a funkciók számára, amelyek kihasználhatják a nagyobb probléma megoldását.
A PostgreSQL String különféle funkcióinak bemutatására először létre kell hoznunk egy adatbázist. A következő adatbázisra hivatkozunk az összes példában:
Példák a PostgreSQL karakterlánc-funkcióira
A húros funkció könnyen használható. Itt megvitatjuk, hogyan lehet a string funkciót használni a PostgreSQL-ben
programozás példák segítségével
1. ASCII (str)
Visszaadja a karakterlánc baloldali karakterének ASCII-értékét.
SELECT FirstName, ASCII(FirstName) from Person
2. BIT_LENGTH (str)
Visszaadja a karakterlánc hosszát bitben.
SELECT FirstName, BIT_LENGTH(FirstName) from Person
3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)
Visszaadja a karakterlánc karakterláncának hosszát.
SELECT FirstName, CHAR_LENGTH(FirstName) from Person
4. CONCAT (str1, str2, …., Strn)
Visszaad egy karakterláncot, amelyet az str1 összekapcsolásával az strn-hez kötünk. A NULL argumentumokat figyelmen kívül hagyjuk.
SELECT FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person
5. str1 || str2 ||… || nem str ||… || strn
Az str1, str2 és az strn összekapcsolása és akár nem karakterlánc argumentumok.
SELECT Id || FirstName || LastName || phone || address as Concat_All from Person
6. INITCAP (str)
A karakterlánc nagybetűs, azaz minden szó első betűje nagybetűkkel, a többi betű kisbetűs. A szavakat nem alfanumerikus elválasztók határozzák meg.
Select INITCAP('This is a PostgreSQL example.')
7. Alsó () és felső ()
Konvertál egy karakterláncot kis- és nagybetűkké.
SELECT FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person
8. BAL (str, len) / JOBB (str, len)
Visszaadja a bal szélső és a jobb szélső karaktereket a str karakterláncból. Ha a len negatív, akkor visszaadja a karakterláncot, kivéve a bal vagy a jobb szélső karaktereket.
SELECT FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person
9. HOSSZ (str) / LENGTH (str, kódolás)
Visszaadja a karakterlánc karakterláncának hosszát. Ez ellentétben az SQL függvény működésével. Ha meghatározásra kerül, akkor a kódolás megadja az adott kódolás hosszát.
SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName) from Person
10. OCTET_LENGTH (str)
Kiszámítja a karakterlánc hosszát bájtban.
SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName), OCTET_LENGTH(FirstName) from Person
Ez nagyon hasonlít a LENGTH és a CHAR_LENGTH funkciókra. A különbség akkor jelentkezik, ha többbájtos karakterek vannak benne.
SELECT '€' as multibyte_char, LENGTH('€'), CHAR_LENGTH('€'), OCTET_LENGTH('€')
Ez azért történik, mert az Euro (€) jel 3 bájtot foglal el a memóriában.
11. LPAD (str, len, padstr) / RPAD (str, len, padstr)
Beszúr az al-karakterláncot a karakterlánc pad 0. pozíciójától a karakterlánc elejére és végére, amíg a kapott karakterlánc len karaktereket nem tartalmaz.
SELECT FirstName, LastName, LPAD(CONCAT_WS(' ', FirstName, LastName), CHAR_LENGTH(CONCAT_WS(' ', FirstName, LastName))+CHAR_LENGTH('Mr. '), 'Mr. ') as DisplayName from Person
12. LTRIM (str, karakter) / RTRIM (str, karakter) / TRIM (str, karakter)
A karakterláncot adja vissza, miután kivágta a char (ek) előfordulásait balról, jobbról vagy mindkét végről. Ha a karakter nem szerepel az argumentumban, a szóközök levágásra kerülnek.
SELECT LTRIM(' abc ') as L1, RTRIM(' abc ') as R1, TRIM(' abc ') as T1, LTRIM('xxxyyabcxyz', 'xyz') as L2, RTRIM('xxxyyabcxyz', 'xyz') as R2, TRIM('xxxyyabcxyz', 'xyz') as T2
13. POZÍCIÓ (sztr. Str.) / STRPOS (str., Sztr.)
Megtalálja a substring pozícióját a str string-ben. Ne feledje, hogy az index 1-rel kezdődik a PostgreSQL-ben. 0 eredményt ad, ha nem található találat.
SELECT Address, POSITION('Avenue' in Address) from Person
14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)
Ez a lekérdezés idézi és visszavonja a str. A legtöbb speciális karakter megduplázódik.
SELECT Address, QUOTE_IDENT(Address), QUOTE_LITERAL(Address) from Person
15. KICSERÉLÉS (str, from_str, to_str)
Kicseréli az alsó karakterlánc összes előfordulását a (z) str sztring karakterláncban a to_str alhúrra. Nagybetű-érzékeny.
SELECT Address, REPLACE(Address, 's', 'SS') from Person
16. REVERSE (str)
Fordítja a str.
SELECT FirstName, REVERSE(FirstName) from Person
17. REGEXP_MATCHES (str, minta)
Visszatér a POSIX Regex mintával megegyező összes szálakhoz.
SELECT Address, REGEXP_MATCHES(Address, '.(sN)i.') from Perso
18. REGEXP_REPLACE (str, minta, newstr)
A POSIX Regex mintázatához tartozó összes szálakat lecseréli az newstr.
SELECT Address, REGEXP_MATCHES(Address, '..(e)(n)..'), REGEXP_REPLACE(Address, '..(e)(n)..', 'Street') from Person
19. REGEXP_SPLIT_TO_ARRAY (str, minta)
Felosztja a str karakterláncot a POSIX Regex mintával elválasztott alsorozatok tömbjével. Az E '\\ s +' minta egy vagy több üres helyet jelent.
SELECT Address, REGEXP_SPLIT_TO_ARRAY(Address, E'\\s+') from Person
20. REGEXP_SPLIT_TO_TABLE (str, minta)
Felosztja a str karakterláncot a POSIX Regex mintával elválasztott alsorozatok táblázataként.
SELECT Address, REGEXP_SPLIT_TO_TABLE(Address, E'\\s+') from Person
21. SUBSTRING (str pos pos len len)
Visszaad egy részsávot a str sztringből a len hosszúságú pozíciójától kezdve.
SELECT FirstName, SUBSTRING(FirstName from 2 for 4) as a sub from Person
22. SUBSTRING (a posix_pattern-től) / SUBSTRING (a sql_pattern-től a meneküléshez)
Visszaad egy alsávot a str karakterláncból, amely megegyezik a POSIX Regex vagy az SQL Regex értékkel. A Regex nagy, csodálatos és rendkívül hasznos téma a számítógépekben. Ajánlatos megszerezni a Regex mintákat, mielőtt azok véletlenül megvalósulnának.
SELECT FirstName, SUBSTRING(FirstName from '…$') as sub1, substring(FirstName from '%#"o_a#"_%' for '#') as sub2 from Person
Következtetés - PostgreSQL karakterláncfunkciók
Összefoglalva tehát: ezek a többi beépített funkcióval együtt teszik a PostgreSQL-t olyan erõssé. A regex minták beépítése több energiát ad hozzá. Miután megtanultak és elsajátították a Regex minták írásának művészetét, sokkal szórakoztatóbb az adatbázis használata.
Ajánlott cikkek
Ez egy útmutató a PostgreSQL karakterlánc-funkciókhoz. Itt megvitattuk, hogyan lehet string-függvényeket használni a PostgreSQL programozásban, példák segítségével. A további javasolt cikkeken keresztül további információkat is megtudhat -
- Karakterlánc-funkciók példákkal a Java-ban
- Hogyan telepíthetem a PostgreSQL-t?
- PostgreSQL interjúkérdések
- Regex funkciók a Pythonban (példa)