SQL Server - Funzioni per Stringhe
SQL Server
ASCII
- Restituisce il valore ASCII del carattere passato come argomento. Se si passa una stringa, la funzione considera solo il primo carattere.
- Esempio:
SELECT ASCII('A'), ASCII('a'), ASCII('0')
- Risultato:
65 97 48
CHAR
- Restituisce il carattere del valore ASCII passato come argomento. Se si passa un valore maggiore di 255, la funzione restituisce NULL.
- Esempio:
SELECT CHAR(65), CHAR(97), CHAR(48)
- Risultato:
A a 0
- Script per visualizzare tutte le lettere maiuscole:
DECLARE @Index INT
SET @Index = 65
WHILE(@Index <= 90)
BEGIN
PRINT CHAR(@Index)
SET @Index = @Index + 1
END
- Script per visualizzare tutte le lettere minuscole:
DECLARE @Index INT
SET @Index = 97
WHILE(@Index <= 122)
BEGIN
PRINT CHAR(@Index)
SET @Index = @Index + 1
END
- Script per visualizzare tutte le cifre:
DECLARE @Index INT
SET @Index = 48
WHILE(@Index <= 57)
BEGIN
PRINT CHAR(@Index)
SET @Index = @Index + 1
END
LTRIM, RTRIM
- Rimuovono rispettivamente gli spazi alla sinistra e alla destra della stringa passata come argomento.
- Esempio:
SELECT '/' + LTRIM(' Ciao ') + '/'
, '/' + RTRIM(' Ciao ') + '/'
, '/' + LTRIM(RTRIM(' Ciao ')) + '/'
- Risultato:
/Ciao / / Ciao/ /Ciao/
UPPER, LOWER
- Convertono rispettivamente in maiuscolo e in minuscolo tutti i caratteri della stringa passata come argomento.
- Esempio:
SELECT UPPER('2001 Odissea nello Spazio')
, LOWER('2001 Odissea nello Spazio')
- Risultato:
2001 ODISSEA NELLO SPAZIO 2001 odissea nello spazio
REVERSE
- Inverte la stringa passata come argomento.
- Esempio:
SELECT REVERSE('Arthur C. Clarke')
- Risultato:
ekralC .C ruhtrA
LEN
- Restituisce la lunghezza della stringa passata come argomento; gli spazi a destra della stringa sono ignorati.
- Esempio:
SELECT LEN('Ciao'), LEN(' Ciao'), LEN('Ciao ')
- Risultato:
4 7 4
LEFT, RIGHT
- Restituiscono rispettivamente la parte sinistra e la parte destra della stringa passata come primo argomento, con lunghezza passata come secondo argomento. Se la lunghezza indicata è maggiore della lunghezza della stringa, viene restituita la stringa stessa.
- Esempio:
SELECT LEFT('Blade Runner', 5), RIGHT('Blade Runner', 5)
- Risultato:
Blade unner
SUBSTRING
- Restituisce la sottostringa di una data stringa a partire da una posizione data e della lunghezza voluta.
- Esempio:
SELECT SUBSTRING('I nove miliardi di nomi di Dio', 8, 8)
- Risultato:
miliardi
CHARINDEX
- Restituisce la posizione di una data sottostringa contenuta in un’altra stringa data, a partire da una posizione voluta. Se la sottostringa non viene trovata, restituisce 0.
- Esempio:
SELECT CHARINDEX('miliardi', 'I nove miliardi di nomi di Dio', 1)
- Risultato:
8
PATINDEX
- Restituisce la posizione della prima occorrenza di un ‘pattern’ in una data stringa. Il pattern è una stringa che permette l’uso dei caratteri jolly ‘%’ (che equivale a una qualsiasi stringa anche di lunghezza zero) e ‘_’ (che equivale a un carattere qualsiasi).
- Esempio:
SELECT PATINDEX('%45%', '123456789')
, PATINDEX('_45_', '123456789')
, PATINDEX('___45%', '123456789')
- Risultato:
4 0 1
SPACE
- Restituisce una stringa costituita da spazi della lunghezza indicata dal secondo argomento.
- Esempio:
SELECT '/' + SPACE(5) + '/'
- Risultato:
/ /
REPLICATE
- Restituisce la stringa passata come argomento, replicata tante volte quanto indicato dal secondo argomento.
- Esempio:
SELECT REPLICATE('*', 5), REPLICATE('123', 5)
- Risultato:
***** 123123123123123
REPLACE
- Data una stringa, rimpiazza tutte le occorrenze di una data sottostringa con un’altra sottostringa.
- Esempio:
SELECT REPLACE('123456789', '45', '**')
- Risultato:
123**6789
STUFF
- Data una stringa, rimpiazza la sottostringa a partire da un valore dato e della lunghezza data, con un’altra sottostringa.
- Esempio:
SELECT STUFF('123456789', 4, 2, '*****')
- Risultato:
123*****6789