Funkce PostgreSQL String

PostgreSQL je velmi výkonný systém správy objektově relačních databází. Poskytuje velké množství funkcí a operátorů pro vestavěné datové typy, čímž zbavuje vývojáře jednodušších úkolů a zaměřuje se na řešení většího problému. Jednou takovou kategorií vestavěných funkcí jsou řetězcové funkce PostgreSQL. Formátování řetězců, jako je zřetězování, zobrazení v určitém formátu, vkládání / mazání podřetězců atd., Může být někdy únavným úkolem. PostgreSQL řetězcové funkce se o to postarají za vás.

PostgreSQL má mnoho funkcí, které nejsou definovány ve standardních funkcích SQL. To vývojářům poskytuje obrovský horizont funkcí, které mohou využít k řešení většího problému.

Pro ilustraci různých funkcí PostgreSQL String musíme nejprve vytvořit databázi. Ve všech příkladech bude uvedena následující databáze:

Příklady řetězcových funkcí v PostgreSQL

Řetězcová funkce se snadno používá. Zde budeme diskutovat o tom, jak používat řetězcovou funkci v PostgreSQL

programování pomocí příkladů

1. ASCII (str)

Vrátí hodnotu ASCII znaku nejvíce vlevo řetězce str.

SELECT FirstName, ASCII(FirstName) from Person

2. BIT_LENGTH (str)

Vrací délku str str str v bitech.

SELECT FirstName, BIT_LENGTH(FirstName) from Person

3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)

Vrátí délku řetězce str ve znakech.

SELECT FirstName, CHAR_LENGTH(FirstName) from Person

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

Vrátí řetězec vytvořený spojením str1 a strn. NULL argumenty jsou ignorovány.

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

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

Zřetězuje str1, str2 pro strn a dokonce i pro řetězcové argumenty.

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

6. INITCAP (str)

Kapitalizuje řetězec, tj. První písmeno každého slova je horní a dolní a dolní. Slova jsou určena nealfanumerickými oddělovači.

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

7. LOWER () a UPPER ()

Převede řetězec na malá a velká písmena.

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

8. VLEVO (str, len) / PRAVÉ (str, len)

Vrátí pouze znaky zcela vlevo a vpravo od řetězce str. Je-li len záporné, vrátí řetězec str s výjimkou znaků vlevo nebo zcela vpravo.

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

9. DÉLKA (str) / DÉLKA (str, kódování)

Vrátí délku řetězce str ve znakech. To je na rozdíl od operace funkce Délka v SQL. Pokud je uvedeno, kódování udává délku v konkrétním kódování.

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

10. OCTET_LENGTH (str)

Vypočítá délku str str str v bajtech.

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

To je velmi podobné funkcím LENGTH a CHAR_LENGTH. Rozdíl nastává, když jsou zapojeny vícebajtové znaky.

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

To se děje proto, že znak Euro (€) zabírá 3 bajty v paměti.

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

Vloží subřetězec z pozice 0 řetězce strstr na začátek a konec řetězce str, dokud výsledný řetězec nebude mít pouze 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átí řetězec str po oříznutí všech výskytů znaků zleva, zprava nebo z obou konců. Pokud znaky nejsou v argumentech specifikovány, mezery jsou oříznuty.

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)

Vyhledá polohu podřetězce v řetězci str. Pamatujte, že index začíná od 1 v PostgreSQL. Vrací 0, pokud nebyla nalezena žádná shoda.

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

14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)

Tento dotaz cituje a neregistruje řetězec str. Většina speciálních postav je zdvojnásobena.

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

15. VÝMĚNA (str, from_str, to_str)

Nahrazuje všechny výskyty podřetězce from_str za podřetězec to_str v řetězci str. Je citlivý na velikost písmen.

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

16. REVERSE (str)

Obrátí řetězec str.

SELECT FirstName, REVERSE(FirstName) from Person

17. REGEXP_MATCHES (str, pattern)

Vrátí všechny podřetězce, které odpovídají vzoru POSIX Regex.

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

18. REGEXP_REPLACE (str, pattern, newstr)

Nahrazuje všechny podřetězce, které odpovídají vzoru POSIX Regex, za newstr.

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

19. REGEXP_SPLIT_TO_ARRAY (str, pattern)

Rozdělí řetězec str do pole podřetězců oddělených vzorem POSIX Regex. Vzor E '\\ s +' znamená jeden nebo více mezer.

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

20. REGEXP_SPLIT_TO_TABLE (str, pattern)

Rozdělí řetězec str do tabulky podřetězců oddělených vzorem POSIX Regex.

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

21. SUBSTRING (str od pos for len)

Vrátí podřetězec z řetězce str počínaje pozicí poz. Délky délky.

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

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

Vrátí podřetězec z řetězce str, který odpovídá POSIX Regex nebo SQL Regex. Regex je velké, úžasné a nesmírně užitečné téma v počítačích. Doporučuje se získat vzory Regex před jejich náhodným provedením.

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

Závěr - PostgreSQL String Functions

Abych to uzavřel, spolu s dalšími vestavěnými funkcemi jsou PostgreSQL tak silné. Začlenění vzorců regexu do něj přidává větší sílu. Jakmile se umění psaní vzorů Regex naučí a osvojí, bude hrát s databází mnohem zábavnější.

Doporučené články

Toto byl průvodce PostgreSQL String Functions. Zde jsme diskutovali, jak používat řetězcové funkce v programování PostgreSQL pomocí příkladů. Další informace naleznete také v dalších navrhovaných článcích -

  1. Řetězcové funkce v Javě s příklady
  2. Jak nainstalovat PostgreSQL?
  3. PostgreSQL Interview Otázky
  4. Funkce Regex v Pythonu (příklad)

Kategorie: