PostgreSQL SUBSTRING() Funzione con esempio Regex

Che cos'è la PostgreSQL Sottostringa?

Il PostgreSQL la funzione sottostringa ti aiuta a estrarre e restituire parte di una stringa. Invece di restituire l'intera stringa, ne restituisce solo una parte.

Sintassi

Il PostgreSQL la funzione sottostringa assume la seguente sintassi:

substring( string [from starting_position] [for length] )

parametri

Nome Descrizione
stringa La stringa di origine il cui tipo di dati è varchar, char, string e così via.
posizione di partenza È un parametro facoltativo. Indica il luogo in cui inizierà l'estrazione della corda. Se si omette questo parametro l'estrazione inizierà dalla posizione 1, che è il primo carattere della stringa.
lunghezza È un parametro facoltativo. Indica il numero di caratteri da estrarre dalla stringa. Se ometti questo parametro, la funzione estrarrà dalla posizione_iniziale alla fine della stringa.

Esempi

In questo esempio vogliamo estrarre i primi 4 caratteri dalla parola Guru99:

SELECT substring('Guru99' for 4);

Il comando restituirà quanto segue:

PostgreSQL Sottostringa

Non abbiamo specificato la posizione iniziale, quindi l'estrazione della sottostringa inizia dalla posizione 1. Sono stati estratti 4 caratteri per restituire quanto sopra.

L'esempio seguente mostra come specificare la posizione iniziale:

SELECT substring('Guru99' from 1 for 4);

Il comando restituirà quanto segue:

PostgreSQL Sottostringa

Abbiamo specificato che l'estrazione della sottostringa dovrà iniziare dalla posizione 1, e dovranno essere estratti 4 caratteri.

Estraiamo 99 dalla stringa Guru99:

SELECT substring('Guru99' from 5);

Il comando restituirà quanto segue:

PostgreSQL Sottostringa

Abbiamo specificato la posizione iniziale come 5. Poiché il numero di caratteri da estrarre non è stato specificato, l'estrazione è avvenuta fino alla fine della stringa.

Ecco un altro esempio:

SELECT substring('Guru99' from 5 for 2);

Il comando restituirà quanto segue:

PostgreSQL Sottostringa

Abbiamo iniziato l'estrazione dalla posizione 5 e sono stati estratti 2 caratteri.

Considera la tabella dei libri riportata di seguito:

PostgreSQL Sottostringa

Vogliamo avere un'idea approssimativa del nome di ciascun libro. Possiamo però estrarre solo i primi 15 caratteri dalla colonna del nome della tabella:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Il comando restituirà quanto segue:

PostgreSQL Sottostringa

Ora abbiamo un'idea approssimativa del nome di ogni libro.

Corrispondenza di sottostringhe con l'espressione regolare SQL

In PostgreSQL, possiamo estrarre una sottostringa corrispondente a un'espressione regolare POSIX specificata. In questo caso, la funzione di sottostringa viene utilizzata con la seguente sintassi:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

Ecco una spiegazione dei parametri di cui sopra:

La stringa è la stringa di origine di cui tipo di dati è varchar, char, string, ecc.

matching_pattern è il modello da utilizzare per la ricerca nella stringa.

Esempi

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Il comando restituirà quanto segue:

Corrispondenza di sottostringhe con l'espressione regolare SQL

La nostra stringa di input è la tua età è 22. Nel modello, stiamo cercando un modello numerico nella nostra stringa quando questo viene trovato, la funzione sottostringa dovrebbe estrarre solo due caratteri.

Come abbinare le sottostringhe utilizzando pgAdmin

Ora vediamo come vengono eseguite le azioni utilizzando pgAdmin.

Le query di cui sopra, in cui non abbiamo bisogno di un database, possono essere eseguite direttamente dalla finestra dell'editor di query. Basta fare quanto segue:

Passo 1) Accedi al tuo account.
Accedi al tuo account pgAdmin.

Passo 2) Su pgAdmin,
Fare clic sull'icona Strumento di query.

Sottostringhe corrispondenti utilizzando pgAdmin

Verrà aperta la finestra dell'editor di query.

Passo 3) Digita la query.
Digitare la seguente query nella finestra dell'editor.

SELECT substring('Guru99' for 4);

Passo 4) Esegui query
Fare clic sull'icona Esegui per eseguire la query.

Sottostringhe corrispondenti utilizzando pgAdmin

Passo 5) L'esecuzione della query è terminata.
Dovrebbe restituire quanto segue:

Sottostringhe corrispondenti utilizzando pgAdmin

Esempio 2:

SELECT substring('Guru99' from 1 for 4);

Dovrebbe restituire quanto segue:

Sottostringhe corrispondenti utilizzando pgAdmin

Ecco il prossimo esempio:

SELECT substring('Guru99' from 5);

Dovrebbe restituire quanto segue:

Sottostringhe corrispondenti utilizzando pgAdmin

Esempio 3:

SELECT substring('Guru99' from 5 for 2);

Dovrebbe restituire quanto segue:

Sottostringhe corrispondenti utilizzando pgAdmin

Ora eseguiamo l'esempio utilizzando la tabella Book del database Demo:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2)

  1. Dalla barra di navigazione a sinistra, fare clic su Database.
  2. Fare clic su Demo.

Sottostringhe corrispondenti utilizzando pgAdmin

Passo 3) Digita la query nell'editor di query:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Passo 4) Fare clic sul pulsante Esegui.

Sottostringhe corrispondenti utilizzando pgAdmin

Dovrebbe restituire quanto segue:

PostgreSQL Sottostringa

Ora abbiamo un'idea di base del nome di ogni libro.

Corrispondenza di sottostringhe con l'espressione regolare SQL

Per ottenere lo stesso risultato su pgAdmin, procedere come segue:

Passo 1) Accedi al tuo account pgAdmin.

Passo 2) Fare clic sull'icona Strumento di query.

Corrispondenza di sottostringhe con l'espressione regolare SQL

Verrà aperta la finestra dell'editor di query.

Passo 3) Digitare la seguente query nella finestra dell'editor.

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Passo 4) Fare clic sull'icona Esegui per eseguire la query.

Corrispondenza di sottostringhe con l'espressione regolare SQL

Dovrebbe restituire quanto segue:

Corrispondenza di sottostringhe con l'espressione regolare SQL

Sommario

  • Il PostgreSQL La funzione sottostringa aiuta ad estrarre e restituire solo una parte di una stringa.
  • Il primo carattere della stringa è nella posizione 1.
  • Se il numero di caratteri da estrarre dalla stringa non è specificato, la funzione estrarrà i caratteri dalla posizione iniziale specificata alla fine della stringa.
  • Se viene specificato il numero di caratteri da estrarre, verrà estratto solo quel numero di caratteri.

Scarica il database utilizzato in questo tutorial