Pagina personale di:
Carlo Vecchio
appunti di C#, R, SQL Server, ASP.NET, algoritmi, numeri
Vai ai contenuti

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

© 2022 Carlo Vecchio
Torna ai contenuti