PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come utilizzare la funzione di sottostringa in PostgreSQL e Redshift

A volte una stringa nel database potrebbe contenere alcune informazioni incorporate in quella stringa come sottostringa. Questa stringa potrebbe essere un numero ID che potrebbe esistere in un'attività o un numero di tracciamento per il sito web della tua azienda.

Ecco un esempio in cui un'azienda che monitora l'attività del traffico del sito Web ha una convenzione di denominazione specifica per l'ID di monitoraggio attività. La convenzione di denominazione è "ID attività" che è di 6 caratteri e nella prima posizione, "ID cliente" che è di 7 caratteri e viene visualizzato come secondo, e nella terza posizione "ID pagina" che è lungo 3 caratteri. Questi tre numeri ID sono riuniti in un'unica stringa senza caratteri di divisione. In questo esempio, un numero di tracciamento potrebbe essere simile al seguente:WSL194OH08856CAS.

Potresti voler estrarre il numero ID cliente e per farlo puoi utilizzare la seguente funzione di sottostringa:

SUBSTRING("WSL194OH08856CAS",7,7)

Sapendo che il numero ID cliente è composto da 7 cifre e inizia con la 7a posizione, la formula sopra descritta funziona in questo modo:

Inoltre, potresti voler avere solo l'ID attività. Per ottenere questo utilizzerai la stessa funzione solo in un modo leggermente diverso.

SUBSTRING("WSL194OH08856CAS",1,6)

Proprio come il frammento di codice precedente, abbiamo osservato che questo inizierà con la prima posizione e restituisce una stringa che dura 6 caratteri.

Nel nostro ultimo esempio, potresti essere interessato a Page ID, che nel nostro caso si trova alla fine della stringa. Per questo puoi usare la funzione in questo modo:

SUBSTRING("WSL194OH08856CAS",14)

In questo esempio, omettendo l'argomento finale stai comandando al database di restituirti tutto dopo e includendo il carattere nella 14a posizione.

Usando questa funzione è ora possibile analizzare una stringa in una colonna in base a posizioni note e lunghezze di sottostringhe che potrebbe contenere. Questa è una tecnica utile per suddividere una colonna in più sottostringhe se tali sottostringhe possono essere utilizzate in un modo diverso rispetto alla totalità della stringa originale.