Funcții cu șiruri PostgreSQL

PostgreSQL este un sistem de gestionare a bazelor de date relațional cu obiecte foarte puternic. Oferă un număr mare de funcții și operatori pentru tipurile de date încorporate, scutind astfel dezvoltatorii de sarcini mai simple și concentrându-se pe soluția problemei mai mari. O astfel de categorie de funcții încorporate sunt funcțiile de șiruri PostgreSQL. Formatarea șirurilor, cum ar fi concatenarea, afișarea într-un anumit format, inserarea / ștergerea subcadențelor etc. poate fi uneori o sarcină obositoare. Funcțiile șirului PostgreSQL au grijă de asta pentru tine.

PostgreSQL are multe funcții care nu sunt definite în funcțiile standard SQL. Acest lucru oferă dezvoltatorilor un orizont vastă de funcții, care pot fi pârghii pentru a rezolva problema mai mare.

Pentru a ilustra diverse funcții String PostgreSQL, trebuie mai întâi să creăm o bază de date. Următoarele baze de date vor fi menționate în toate exemplele:

Exemple de funcții cu șiruri în PostgreSQL

Funcția șirurilor este ușor de utilizat. Aici vom discuta despre cum să utilizăm funcția șir în PostgreSQL

programarea cu ajutorul unor exemple

1. ASCII (str)

Returnează valoarea ASCII a caracterului din stânga str.

SELECT FirstName, ASCII(FirstName) from Person

2. BIT_LENGTH (str)

Întoarce lungimea șirului șir în biți.

SELECT FirstName, BIT_LENGTH(FirstName) from Person

3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)

Întoarce lungimea șirului cu caractere.

SELECT FirstName, CHAR_LENGTH(FirstName) from Person

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

Returnează un șir format prin unirea str1 la strn. Argumentele NULL sunt ignorate.

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

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

Concatenează str1, str2 la strn și chiar argumente non-string.

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

6. INITCAP (str)

Literează șirul, adică prima literă a fiecărui cuvânt este cu majuscule și restul sunt cu mai mici. Cuvintele sunt determinate de separatoarele nealfanumerice.

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

7. LOWER () și UPPER ()

Convertește un șir în litere mici și minuscule.

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

8. stânga (str, len) / DREPT (str, len)

Întoarce cele mai stângi și cele mai drepte caractere len din șirul str. Când len este negativ, returnează șirul cu șir, cu excepția caracterelor len din stânga sau din dreapta.

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

9. LENGTH (str) / LENGTH (str, codare)

Întoarce lungimea șirului cu caractere. Totuși, acest lucru este diferit de funcționarea funcției Length în SQL. Când este specificat, codificarea furnizează lungimea în codificare particulară.

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

10. OCTET_LENGTH (str)

Calculează lungimea șirului de octeți în șir.

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

Acest lucru este foarte asemănător cu funcțiile LENGTH și CHAR_LENGTH. Diferența vine atunci când sunt implicate caractere multibyte.

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

Acest lucru se întâmplă deoarece semnul Euro (€) ocupă 3 octeți în memorie.

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

Inserează sub-șir din poziția 0 a cordului padstrului la începutul și sfârșitul str. Șirului până când șirul rezultat este format din caractere len.

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)

Întoarce șirul șirului după tăierea tuturor aparițiilor de caractere din stânga, dreapta sau din ambele capete. Dacă caracterele nu sunt specificate în argumente, spațiile sunt decupate.

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. POZIȚIE (substr în str) / STRPOS (str, substr)

Găsește poziția substratului subteran în șirul str. Nu uitați, indexul pornește de la 1 în PostgreSQL. Returnează 0, dacă nu a fost găsită nicio potrivire.

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

14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)

Această interogare citează și anulează știrile str. Majoritatea personajelor speciale sunt dublate.

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

15. REPLACE (str, de la_str, la_str)

Înlocuiește toate aparițiile sub-șirului din_str cu sub-șir to_str în șirul str. Este sensibil la cazuri.

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

16. REVERSARE (str)

Inversează str. Str.

SELECT FirstName, REVERSE(FirstName) from Person

17. REGEXP_MATCHES (str, model)

Returnează toate subcadențele care se potrivesc cu modelul POSIX Regex.

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

18. REGEXP_REPLACE (str, pattern, newstr)

Înlocuiește toate subcarturile care se potrivesc cu modelul POSIX Regex cu newstr.

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

19. REGEXP_SPLIT_TO_ARRAY (str, model)

Împărțește șirul șir într-un tablou de subcărți separate prin modelul POSIX Regex. Model E '\\ s +' înseamnă unul sau mai multe spații goale.

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

20. REGEXP_SPLIT_TO_TABLE (str, model)

Divizează șirul de coarde într-un tabel de subcărți separate prin modelul POSIX Regex.

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

21. SUBSTRAREA (str. Din poz pentru len)

Întoarce o subcostă de la șirul de cord care începe de la poziția poziția lungimii lungime.

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

22. SUBSTRING (str de la posix_pattern) / SUBSTRING (str de la sql_pattern pentru evadare)

Întoarce o subcadere din string string care se potrivește cu POSIX Regex sau SQL Regex. Regex este un subiect mare, minunat și extrem de util în calculatoare. Se recomandă să puneți mâna pe modelele Regex înainte de a le pune în aplicare întâmplător.

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

Concluzie - Funcții de șiruri PostgreSQL

Deci, pentru a concluziona, acestea împreună cu alte funcții încorporate sunt ceea ce face PostgreSQL atât de puternic. Includerea modelelor regex adaugă mai multă putere. Odată ce arta scrierii modelelor Regex este învățată și stăpânită, jocul cu baza de date ar fi mult mai distractiv.

Articole recomandate

Acesta a fost un ghid pentru funcțiile de șiruri PostgreSQL. Aici am discutat cum să utilizăm funcțiile șir în programarea PostgreSQL cu ajutorul unor exemple. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Funcții de șir în Java cu exemple
  2. Cum se instalează PostgreSQL?
  3. Întrebări pentru interviul PostgreSQL
  4. Funcții Regex în Python (Exemplu)