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ù–

  1. Funzioni stringa in Java con esempi
  2. Come installare PostgreSQL?
  3. Domande di intervista PostgreSQL
  4. Funzioni Regex in Python (esempio)

Categoria: