Elaborare stringhe con SQL Server
Pagina 4 di 4
Le funzioni LEFT e RIGHT
Possiamo usare la funzione LEFT per estrarre la parte sinistra di una stringa, così come la funzione RIGHT consente invece di estrarre una sottostringa destra. Oltre alla stringa di riferimento, è necessario passare alla funzione un altro parametro intero, che determina la dimensione della sottostringa da estrarre. Così ad esempio il codice:
@decalre doc varchar(64) SELECT @doc='Frase di prova' SELECT LEFT(@doc,8) SELECT RIGHT(@doc,4)avrebbe come risultati:
'Frase di' (risultato della chiamata alla funzione LEFT) 'rova' (risultato della chiamata alla funzione RIGHT)La funzione QUOTENAME
Possiamo servirci della funzione QUOTENAME per inserire su una stringa caratteri che ne delimitano in modo esplicito inizio e fine. Se non specificato diversamente (attraverso un parametro opzionale) il carattere di inizio stringa sarà '[' e quello di fine stringa ']'. Così ad esempio eseguendo:
SELECT QUOTENAME('abcde')
avremo come output
'[abcde]'La funzione REPLACE
Con la funzione REPLACE è possibile sostituire tutte le occorrenze di una specifica espressione con un'altra espressione (entrambe sono passate come parametro, così come la stringa all'interno della quale viene effettuata la ricerca). Per sostituire l'espressione 'per' con l'espressione 'con' in 'Frase di prova per sostituzioni' possiamo usare la funzione:
SELECT REPLACE('Frase di prova per sostituzioni', 'per', 'con')
E la stringa sarà trasformata in:
'Frase di prova con sostituzioni'La funzione REPLICATE
La funzione REPLICATE consente di ripetere una certa espressione per uno specificato numero di volte. I due parametri in ingresso alla funzione sono dunque la stringa da ripetere e il numero intero di ripetizioni desiderate. Così, ad esempio, per ripetere la stringa "Prova" per 100 volte, possiamo eseguire la funzione:
SELECT REPLICATE('Prova', 100)
La funzione REVERSE
Con la funzione REVERSE otteniamo, data in ingresso una stringa, quella stessa stringa letta da destra a sinistra. Ad esempio l'esecuzione di:
SELECT REVERSE('Prova')
ha come risultato:
'avorP'La funzione SPACE
La funzione SPACE ha come valore di ritorno una stringa costituita da uno specificato numero di spazi vuoti. L'unico parametro in ingresso rappresenta il numero di spazi vuoti desiderato. Per generare una stringa di 100 spazi vuoti è sufficiente usare la funzione:
SELECT SPACE(100)La funzione STUFF
Posssiamo utilizzare la funzione STUFF per inserire un'espressione composta da caratteri all'interno di un'altra espressione. I parametri da passare alla funzione sono 4: oltre ai due insiemi di caratteri infatti, vanno anche specificati, tramite due numeri interi, il punto in cui è necessario effettuare la sostituzione e quanti caratteri della stringa originale devono essere eliminati. Valutiamo un esempio di esecuzione della funzione STUFF:
SELECT STUFF('Prova', 2, 2, 'abcde')
Il risultato è:
'Pabcdeva'La funzione SUBSTRING
La funzione SUBSTRING ha come valore di ritorno una sottostringa dell'espressione passata come parametro. Devono essere forniti in input alla funzione anche due numeri interi che definiscono il primo carattere della sottostringa da estrarre e la sua lunghezza. Eseguiamo ad esempio la funzione:
SELECT SUBSTRING('Estrarre la sottostringa', 3, 9)
Il risultato sarà allora:
'trarre la'







