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 -
- Funcții de șir în Java cu exemple
- Cum se instalează PostgreSQL?
- Întrebări pentru interviul PostgreSQL
- Funcții Regex în Python (Exemplu)