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:
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:
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:
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:
Abbiamo iniziato l'estrazione dalla posizione 5 e sono stati estratti 2 caratteri.
Considera la tabella dei libri riportata di seguito:
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:
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:
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.
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.
Passo 5) L'esecuzione della query è terminata.
Dovrebbe restituire quanto segue:
Esempio 2:
SELECT substring('Guru99' from 1 for 4);
Dovrebbe restituire quanto segue:
Ecco il prossimo esempio:
SELECT substring('Guru99' from 5);
Dovrebbe restituire quanto segue:
Esempio 3:
SELECT substring('Guru99' from 5 for 2);
Dovrebbe restituire quanto segue:
Ora eseguiamo l'esempio utilizzando la tabella Book del database Demo:
Passo 1) Accedi al tuo account pgAdmin.
Passo 2)
- Dalla barra di navigazione a sinistra, fare clic su Database.
- Fare clic su Demo.
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.
Dovrebbe restituire quanto segue:
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.
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.
Dovrebbe restituire quanto segue:
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