Funzioni stringa PostgreSQL
PostgreSQL è un potente sistema di gestione di database relazionali ad oggetti. Fornisce un gran numero di funzioni e operatori per i tipi di dati integrati, sollevando così gli sviluppatori da attività più semplici e concentrandosi sulla soluzione al problema più grande. Una di queste categorie di funzioni integrate sono le funzioni di stringa PostgreSQL. La formattazione di stringhe come la concatenazione, la visualizzazione in un determinato formato, l'inserimento / eliminazione di sottostringhe, ecc. A volte può essere un'attività noiosa. Le funzioni di stringa PostgreSQL si occupano di questo per te.
PostgreSQL ha molte funzioni che non sono definite nelle funzioni SQL standard. Ciò fornisce agli sviluppatori un vasto orizzonte di funzioni che possono sfruttare per risolvere il problema più grande.
Per illustrare varie funzioni di stringa PostgreSQL, dobbiamo prima creare un database. Il seguente database verrà indicato in tutti gli esempi:
Esempi di funzioni stringa in PostgreSQL
La funzione stringa è facile da usare. Qui discuteremo come utilizzare la funzione stringa in PostgreSQL
programmazione con l'aiuto di esempi
1. ASCII (str)
Restituisce il valore ASCII del carattere più a sinistra della stringa str.
SELECT FirstName, ASCII(FirstName) from Person
2. BIT_LENGTH (str)
Restituisce la lunghezza della stringa str in bit.
SELECT FirstName, BIT_LENGTH(FirstName) from Person
3. CHAR_LENGTH (str) / CHARACTER_LENGTH (str)
Restituisce la lunghezza della stringa str in caratteri.
SELECT FirstName, CHAR_LENGTH(FirstName) from Person
4. CONCAT (str1, str2, …., Strn)
Restituisce una stringa formata unendo str1 a strn. Gli argomenti NULL vengono ignorati.
SELECT FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person
5. str1 || str2 || … || non str || … || Strn
Concatena str1, str2 a strn e persino argomenti non stringa.
SELECT Id || FirstName || LastName || phone || address as Concat_All from Person
6. INITCAP (str)
Le lettere maiuscole sono maiuscole, ovvero la prima lettera di ogni parola è maiuscola e il resto è maiuscolo. Le parole sono determinate da separatori non alfanumerici.
Select INITCAP('This is a PostgreSQL example.')
7. INFERIORE () e SUPERIORE ()
Converte una stringa in lettere minuscole e maiuscole.
SELECT FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person
8. SINISTRA (str, len) / DESTRA (str, len)
Restituisce i caratteri len più a sinistra e più a destra della stringa str. Quando len è negativo, restituisce la stringa str ad eccezione dei caratteri len più a sinistra o più a destra.
SELECT FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person
9. LENGTH (str) / LENGTH (str, codifica)
Restituisce la lunghezza della stringa str in caratteri. Ciò è diverso dall'operazione della funzione Lunghezza nell'SQL. Se specificato, la codifica fornisce la lunghezza nella codifica specifica.
SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName) from Person
10. OCTET_LENGTH (str)
Calcola la lunghezza della stringa str in byte.
SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName), OCTET_LENGTH(FirstName) from Person
Questo è molto simile alle funzioni LENGTH e CHAR_LENGTH. La differenza arriva quando ci sono personaggi multibyte coinvolti.
SELECT '€' as multibyte_char, LENGTH('€'), CHAR_LENGTH('€'), OCTET_LENGTH('€')
Ciò accade perché il segno di Euro (€) occupa 3 byte in memoria.
11. LPAD (str, len, padstr) / RPAD (str, len, padstr)
Inserisce la sottostringa dalla posizione 0 del padstr della stringa all'inizio e alla fine della stringa str fino a quando la stringa risultante è di caratteri 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, caratteri) / RTRIM (str, caratteri) / TRIM (str, caratteri)
Restituisce la stringa str dopo il taglio di tutte le occorrenze di caratteri da sinistra, destra o entrambe le estremità. Se i caratteri non sono specificati negli argomenti, gli spazi vengono tagliati.
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. POSIZIONE (substr in str) / STRPOS (str, substr)
Trova la posizione del sottostringa nella stringa str. Ricorda, l'indice inizia da 1 in PostgreSQL. Restituisce 0, se non viene trovata alcuna corrispondenza.
SELECT Address, POSITION('Avenue' in Address) from Person
14. QUOTE_IDENT (str) / QUOTE_LITERAL (str)
Questa query cita e deseleziona la stringa str. I personaggi più speciali sono raddoppiati.
SELECT Address, QUOTE_IDENT(Address), QUOTE_LITERAL(Address) from Person
15. SOSTITUIRE (str, da_str, a_str)
Sostituisce tutte le occorrenze della sotto-stringa from_str con la sotto-stringa to_str nella stringa str. Fa distinzione tra maiuscole e minuscole.
SELECT Address, REPLACE(Address, 's', 'SS') from Person
16. REVERSE (str)
Inverte la stringa str.
SELECT FirstName, REVERSE(FirstName) from Person
17. REGEXP_MATCHES (str, modello)
Restituisce tutte le sottostringhe che corrispondono al modello POSIX Regex.
SELECT Address, REGEXP_MATCHES(Address, '.(sN)i.') from Perso
18. REGEXP_REPLACE (str, pattern, newstr)
Sostituisce tutte le sottostringhe che corrispondono al modello POSIX Regex con il newstr.
SELECT Address, REGEXP_MATCHES(Address, '..(e)(n)..'), REGEXP_REPLACE(Address, '..(e)(n)..', 'Street') from Person
19. REGEXP_SPLIT_TO_ARRAY (str, modello)
Divide la stringa str in una matrice di sottostringhe separate dal modello POSIX Regex. Il modello E '\\ s +' indica uno o più spazi vuoti.
SELECT Address, REGEXP_SPLIT_TO_ARRAY(Address, E'\\s+') from Person
20. REGEXP_SPLIT_TO_TABLE (str, modello)
Divide la stringa str in una tabella di sottostringhe separate dal modello POSIX Regex.
SELECT Address, REGEXP_SPLIT_TO_TABLE(Address, E'\\s+') from Person
21. SUBSTRING (str da pos per len)
Restituisce una sottostringa dalla stringa str a partire dalla posizione pos della lunghezza len.
SELECT FirstName, SUBSTRING(FirstName from 2 for 4) as a sub from Person
22. SUBSTRING (str da posix_pattern) / SUBSTRING (str da sql_pattern per escape)
Restituisce una sottostringa dalla stringa str che corrisponde a POSIX Regex o SQL Regex. Regex è un argomento grande, meraviglioso ed estremamente utile nei computer. Si consiglia di acquisire i modelli Regex prima di implementarli a casaccio.
SELECT FirstName, SUBSTRING(FirstName from '…$') as sub1, substring(FirstName from '%#"o_a#"_%' for '#') as sub2 from Person
Conclusione - Funzioni stringa PostgreSQL
Quindi, per concludere, queste insieme ad altre funzioni integrate sono ciò che rende PostgreSQL così potente. L'inclusione di modelli regex aggiunge più potere ad esso. Una volta appresa e padroneggiata l'arte di scrivere schemi Regex, giocare con il database sarebbe molto più divertente.
Articoli consigliati
Questa è stata una guida alle funzioni di stringa PostgreSQL. Qui abbiamo discusso su come utilizzare le funzioni di stringa nella programmazione PostgreSQL con l'aiuto di esempi. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–
- Funzioni stringa in Java con esempi
- Come installare PostgreSQL?
- Domande di intervista PostgreSQL
- Funzioni Regex in Python (esempio)