Funkcie reťazca PostgreSQL

PostgreSQL je veľmi výkonný systém správy objektovo-relačných databáz. Poskytuje veľké množstvo funkcií a operátorov pre vstavané typy údajov, čím oslobodzuje vývojárov od jednoduchších úloh a zameriava sa na riešenie väčšieho problému. Jednou z takýchto kategórií vstavaných funkcií sú reťazcové funkcie PostgreSQL. Formátovanie reťazcov, ako je zreťazenie, zobrazenie v určitom formáte, vkladanie / mazanie podreťazcov atď., Môže byť niekedy únavná úloha. PostgreSQL reťazcové funkcie sa o to postarajú za vás.

PostgreSQL má veľa funkcií, ktoré nie sú definované v štandardných funkciách SQL. To vývojárom poskytuje obrovský horizont funkcií, ktoré môžu využiť na vyriešenie väčšieho problému.

Na ilustráciu rôznych funkcií PostgreSQL String musíme najprv vytvoriť databázu. Nasledujúca databáza bude uvedená vo všetkých príkladoch:

Príklady reťazcových funkcií v PostgreSQL

Reťazcová funkcia sa ľahko používa. Tu budeme diskutovať o tom, ako používať reťazcové funkcie v PostgreSQL

programovanie pomocou príkladov

1. ASCII (str)

Vráti hodnotu ASCII najľavejšieho znaku reťazca str.

SELECT FirstName, ASCII(FirstName) from Person

2. BIT_LENGTH (str)

Vráti dĺžku reťazca str v bitoch.

SELECT FirstName, BIT_LENGTH(FirstName) from Person

3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)

Vráti dĺžku reťazca str v znakoch.

SELECT FirstName, CHAR_LENGTH(FirstName) from Person

4. CONCAT (str1, str2, …., Strn)

Vráti reťazec vytvorený spojením str1 a strn. Argumenty NULL sa ignorujú.

SELECT FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person

5. str1 || str2 ||… || non-str ||… || zhrozia

Zreťazí argumenty str1, str2 na argumenty strn a dokonca aj na reťazce.

SELECT Id || FirstName || LastName || phone || address as Concat_All from Person

6. INITCAP (str)

Veľké písmeno sa používa na veľké písmená, tj prvé písmeno každého slova je veľké a veľké písmená. Slová sú určené nealfanumerickými oddeľovačmi.

Select INITCAP('This is a PostgreSQL example.')

7. LOWER () a UPPER ()

Skonvertuje reťazec na malé a veľké písmená.

SELECT FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person

8. ĽAVÁ (str, len) / PRAVÁ (str, len)

Vracia len ľavé a úplne ľavé znaky z reťazca str. Keď je len záporné, vráti str str str s výnimkou ľavých znakov úplne vľavo alebo vpravo.

SELECT FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person

9. DĹŽKA (str) / DĹŽKA (str, kódovanie)

Vráti dĺžku reťazca str v znakoch. To je na rozdiel od operácie funkcie Length v SQL. Ak je špecifikované, kódovanie poskytuje dĺžku v konkrétnom kódovaní.

SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName) from Person

10. OCTET_LENGTH (str)

Vypočíta dĺžku str str str v bajtoch.

SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName), OCTET_LENGTH(FirstName) from Person

Je to veľmi podobné funkciám LENGTH a CHAR_LENGTH. Rozdiel nastáva, keď sú zapojené viacbajtové znaky.

SELECT '€' as multibyte_char, LENGTH('€'), CHAR_LENGTH('€'), OCTET_LENGTH('€')

Deje sa tak preto, že znak Euro (€) zaberá 3 bajty v pamäti.

11. LPAD (str, len, padstr) / RPAD (str, len, padstr)

Vloží čiastkový reťazec z pozície 0 vložky strun na začiatok a koniec reťazca str, kým výsledný reťazec nebude mať len znaky.

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, chars) / RTRIM (str, chars) / TRIM (str, chars)

Vráti reťazec str. Po orezaní všetkých výskytov znakov zľava, doprava alebo z oboch koncov. Ak znaky nie sú uvedené v argumentoch, medzery sa orezajú.

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. POLOHA (subst v str) / STRPOS (str, subst)

Vyhľadá pozíciu podreťazca v reťazci str. Pamätajte, že index začína od 1 v PostgreSQL. Vráti 0, ak sa nenájde žiadna zhoda.

SELECT Address, POSITION('Avenue' in Address) from Person

14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)

Tento dotaz cituje a necituje reťazec str. Väčšina špeciálnych postáv sa zdvojnásobí.

SELECT Address, QUOTE_IDENT(Address), QUOTE_LITERAL(Address) from Person

15. VÝMENA (str, from_str, to_str)

Nahrádza všetky výskyty podpriečinku from_str za podpríčinok to_str v reťazci str. Je to citlivé na veľkosť písmen.

SELECT Address, REPLACE(Address, 's', 'SS') from Person

16. Reverzia (str)

Obráti reťazec str.

SELECT FirstName, REVERSE(FirstName) from Person

17. REGEXP_MATCHES (str, pattern)

Vráti všetky podreťazce, ktoré sa zhodujú so vzorom POSIX Regex.

SELECT Address, REGEXP_MATCHES(Address, '.(sN)i.') from Perso

18. REGEXP_REPLACE (str, pattern, newstr)

Nahrádza všetky podreťazce, ktoré sa zhodujú so vzorom POSIX Regex, s newstr.

SELECT Address, REGEXP_MATCHES(Address, '..(e)(n)..'), REGEXP_REPLACE(Address, '..(e)(n)..', 'Street') from Person

19. REGEXP_SPLIT_TO_ARRAY (str, pattern)

Rozdeľuje reťazec str na pole podreťazcov oddelených vzorom POSIX Regex. Vzor E '\\ s +' znamená jeden alebo viac medzier.

SELECT Address, REGEXP_SPLIT_TO_ARRAY(Address, E'\\s+') from Person

20. REGEXP_SPLIT_TO_TABLE (str, pattern)

Rozdeľuje reťazec str do tabuľky podreťazcov oddelených vzorom POSIX Regex.

SELECT Address, REGEXP_SPLIT_TO_TABLE(Address, E'\\s+') from Person

21. SUBSTRING (str od pos for len)

Vráti podreťazec zo str str str začínajúci v pozícii pos dĺžky len.

SELECT FirstName, SUBSTRING(FirstName from 2 for 4) as a sub from Person

22. SUBSTRING (str z posix_pattern) / SUBSTRING (str z sql_pattern pre únik)

Vracia podreťazec z reťazca str, ktorý sa zhoduje s POSIX Regex alebo SQL Regex. Regex je veľká, úžasná a mimoriadne užitočná téma v počítačoch. Odporúča sa chytiť vzory Regex pred ich náhodným zavedením.

SELECT FirstName, SUBSTRING(FirstName from '…$') as sub1, substring(FirstName from '%#"o_a#"_%' for '#') as sub2 from Person

Záver - reťazcové funkcie PostgreSQL

Na záver možno povedať, že tieto spolu s ďalšími vstavanými funkciami sú PostgreSQL také silné. Zahrnutie vzorov regexu mu dodáva väčšiu silu. Akonáhle sa umenie písania vzorov Regex naučí a zvládne, hranie s databázou by bolo oveľa zábavnejšie.

Odporúčané články

Toto bol sprievodca funkciami reťazca PostgreSQL. Tu sme diskutovali o tom, ako používať reťazcové funkcie v programovaní PostgreSQL pomocou príkladov. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Funkcie reťazca v Java s príkladmi
  2. Ako nainštalovať PostgreSQL?
  3. PostgreSQL Interview Otázky
  4. Funkcie regulárnych výrazov v Pythone (príklad)

Kategórie: