Sintassi della funzione di sottostring
La sintassi di base e più comunemente usata per la funzione di sottostringa è la seguente, dove caratteri_string è la stringa principale da cui estrarremo i sottostringi. IL posizione di partenza è la posizione del primo carattere della sottostringa nella stringa principale e il lunghezza_of_characters è il numero di caratteri nella sottostringa:
1 | substring (caratteri_string, starting_position, long_of_characters); |
O
1 | substring (caratteri_string da start_position [per numero_characters]); |
Inoltre, è possibile estrarre una sottostringa di dati binari utilizzando la seguente sintassi, dove binary_expression sono i dati binari con tipo di dati varbyte. IL start_byte è la posizione del primo byte della sottostringa estratta dai dati binari e il Number_Bytes è il numero di byte che la sottostringa includerà.
Se non si specifica il Number_Bytes Nella funzione di substring, estraggerà la sottostringa a partire da start_byte alla fine dei dati binari.
1 | substring (binary_expression, starting_byte, numero_bytes); |
O
1 | substring (binary_expression, starting_byte); |
Utilizzando la funzione di substring
Finora abbiamo discusso della sintassi della funzione di sottostringa. In questa sezione, vedremo come questa funzione può essere utilizzata. Discutiamo alcuni esempi per comprendere il funzionamento della funzione di sottostringa:
La funzione di substring può essere utilizzata per interrogare i dati dal cluster di spostamento verso il rosso con le query selezionate. Questa sezione utilizzerà la funzione di sottostringa con la query selezionata.
La seguente domanda restituirà il file Spostamento verso il rosso Quando viene eseguito su Redshift:
1 | Seleziona substring ('AWS Redshift', 5,8); |
La tabella seguente mostra il conteggio dei caratteri in AWS Redshift corda. Lo spazio tra AWS e Redshift viene anche conteggiato come un personaggio.
UN | W | S | R | E | D | S | H | IO | F | T | |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
La posizione di partenza è 5 e il personaggio al 5 ° conteggio è r. La lunghezza del personaggio è 8, il che significa che a partire dalla lettera, R, otto caratteri verranno restituiti.
Allo stesso modo, la seguente query tornerà AWS Se eseguito su Redshift. Il primo personaggio è un e il conteggio totale della sottostringa è 3; Ecco perché restituirà la sottostringa AWS.
1 | Seleziona substring ('AWS Redshift', 1,3); |
Se la Avviamento_position+lunghezza_of_characters è maggiore del numero totale di caratteri in caratteri_string, Il redshift restituirà il valore a partire dalla posizione iniziale alla fine della stringa.
Inoltre, se la lunghezza del carattere non è specificata, la funzione di sottostringa restituisce il valore a partire dalla posizione iniziale alla fine della stringa.
1 | Seleziona substring ('AWS Redshift', 7,8); |
O
1 | Seleziona substring ('AWS Redshift', 7); |
In entrambi i casi, l'output sarà Dhift, come mostrato nella figura seguente:
Se la posizione iniziale è zero o inferiore al valore zero (negativo), la funzione di sottostringa restituirà una sottostringa che inizia al primo carattere del caratteri_string con una lunghezza di Avviamento_position+lunghezza_of_characters-1.
1 | Seleziona substring ('AWS Redshift',-3,7); |
L'output sarà AWS, come mostrato nella figura seguente:
Se la Avviamento_position+lunghezza_of_characters-1 è inferiore o uguale a zero, la funzione di sottostringa restituirà una stringa vuota.
1 | Seleziona substring ('AWS Redshift',-5,4); |
L'output per questa query sarà vuoto, come mostrato nella figura seguente:
La seguente query creerà il Tabella AWS_redshift_substring Nel cluster di spostamento verso il rosso con gli attributi specificati:
1 2 3 4 5 6 7 | Crea la tabella AWS_redshift_substring ( |
Inserire i dati nella tabella usando il metodo Insert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Inserisci i valori AWS_RedShift_Substring (1, 'MR. Dwayne Johnson'); |
Le query precedenti inseriranno dati nella tabella. Ora, selezionare i valori dalla tabella utilizzando la seguente query:
1 | Seleziona * da AWS_redshift_substring; |
s_no | personale personale |
---|---|
1 | Sig. Dwayne Johnson |
2 | Sig. vin Diesel |
3 | Sig. Will Smith |
4 | Sig. Robert Downey Junior. |
5 | Sig. Chris Hemsworth |
6 | Sig. Leonardo Dicaprio |
7 | Sig. Ryan Reynolds |
8 | Sig. Chris Pratt |
9 | Sig. Hugh Jackman |
10 | Sig. Mark Wahlberg |
Ora, applica alcune funzioni di sottostringa in questa tabella. Estraiamo solo i nomi, trascurando il titolo. Per questo, eseguire la seguente domanda:
1 | Seleziona *, substring (personale, 4) come new_name da AWS_RedShift_Substring; |
Questa domanda restituirà le sottostringhe del personale personale colonna in una nuova colonna.
s_no | personale personale | nuovo nome |
---|---|---|
1 | Sig. Dwayne Johnson | Dwayne Johnson |
2 | Sig. vin Diesel | vin Diesel |
3 | Sig. Will Smith | Will Smith |
4 | Sig. Robert Downey Junior. | Robert Downey Junior. |
5 | Sig. Chris Hemsworth | Chris Hemsworth |
6 | Sig. Leonardo Dicaprio | Leonardo Dicaprio |
7 | Sig. Ryan Reynolds | Ryan Reynolds |
8 | Sig. Chris Pratt | Chris Pratt |
9 | Sig. Hugh Jackman | Hugh Jackman |
10 | Sig. Mark Wahlberg | Mark Wahlberg |
Allo stesso modo, possiamo ottenere sottostringhe di personale personale Utilizzando le seguenti query seleziona insieme alla funzione di sottostringa:
1 | Seleziona *, sottostring (personale da 1 per 3) come titolo da AWS_RedShift_Substring; |
Questo estraggerà l'unico titolo trascurando il nome completo.
S_no | personale personale | titolo |
---|---|---|
1 | Sig. Dwayne Johnson | Sig. |
2 | Sig. vin Diesel | Sig. |
3 | Sig. Will Smith | Sig. |
4 | Sig. Robert Downey Junior. | Sig. |
5 | Sig. Chris Hemsworth | Sig. |
6 | Sig. Leonardo Dicaprio | Sig. |
7 | Sig. Ryan Reynolds | Sig. |
8 | Sig. Chris Pratt | Sig. |
9 | Sig. Hugh Jackman | Sig. |
10 | Sig. Mark Wahlberg | Sig. |
Conclusione
Questo articolo ha discusso di come potremmo utilizzare la funzione di sottostringa per eseguire query nel cluster RedShift. L'estrazione di dati modificati dal database è una grande attività e può essere eseguita utilizzando la funzione di sottostringa. L'uso della funzione di substring può aiutare a evitare la modifica dei dati post query in quanto ottengono i dati modificati.