Condividi tramite


Funzioni di stringa

Il provider di dati .NET Framework per SQL Server (SqlClient) fornisce funzioni String che eseguono operazioni in un input String e restituiscono un risultato di tipo String o un valore numerico. Tali funzioni si trovano nello spazio dei nomi SqlServer, disponibile quando si usa SqlClient. Una proprietà dello spazio dei nomi del provider consente a Entity Framework di individuare il prefisso usato dal provider per costrutti specifici, ad esempio tipi e funzioni.

Nella tabella seguente sono riportate le funzioni String di SqlClient:

Funzione Descrizione
ASCII(expression) Restituisce il codice ASCII del primo carattere a sinistra di un'espressione stringa.

Argomenti

expression: qualsiasi espressione valida di un tipo String ASCII.

Valore restituito

Oggetto Int32.

Esempio

SqlServer.ASCII('A')
CHAR(expression) Converte un codice Int32 in una stringa ASCII.

Argomenti

expression: tipo Int32.

Valore restituito

Tipo String ASCII.

Esempio

SqlServer.char(97)
CHARINDEX(expression1, expression2 [, start_location]) Restituisce la posizione iniziale dell'espressione specificata in una stringa di caratteri.

Argomenti

expression1: espressione contenente la sequenza di caratteri da trovare. L'espressione può essere di un tipo string (ASCII o Unicode) o di un tipo binario.

expression2: espressione, in genere corrispondente a una colonna, in cui cercare la sequenza specificata. L'espressione può essere di un tipo string (ASCII o Unicode) o di un tipo binario.

start_location:(Facoltativo) Tipo Int64 (non restituito in SQL Server 2000) o Int32 che rappresenta la posizione del carattere a partire dal quale eseguire la ricerca di expression1 in expression2. Se l'argomento start_location non viene specificato oppure è un numero negativo o è zero, la ricerca viene eseguita dall'inizio di expression2.

Valore restituito

Oggetto Int32.

Esempio

SqlServer.CHARINDEX('h', 'habcdefgh', 2)
DIFFERENCE(expression, expression) Consente di confrontare i valori SOUNDEX di due stringhe e di valutarne la somiglianza.

Argomenti

Tipo String ASCII o Unicode. expression può essere una costante, una variabile o una colonna.

Valore restituito

Restituisce un tipo Int32 che rappresenta la differenza tra i valori SOUNDEX di due espressioni di caratteri. L'intervallo è compreso tra 0 e 4. 0 indica una somiglianza scarsa o del tutto assente, mentre 4 indica una somiglianza forte o l'esatta corrispondenza dei valori.

Esempio

// The following example returns a DIFFERENCE value of 4,

//the least possible difference or the best match.

SqlServer.DIFFERENCE('Green','Greene');
LEFT(expression, count) Restituisce la parte iniziale di una stringa di caratteri, di lunghezza pari al numero di caratteri specificato.

Argomenti

expression: tipo string Unicode o ASCII. Usare la funzione CAST per convertire in modo esplicito character_expression.

count: tipo Int64 (non restituito in SQL Server 2000) o Int32 che specifica quanti caratteri di character_expression verranno restituiti.

Valore restituito

Tipo String Unicode o ASCII.

Esempio

SqlServer.LEFT('SQL Server', 4)
LEN(expression) Restituisce il numero di caratteri dell'espressione stringa specificata, esclusi gli spazi vuoti finali.

Argomenti

expression: espressione di un tipo String (Unicode o ASCII) o Binary

Valore restituito

Oggetto Int32.

Esempio

SqlServer.LEN('abcd')
LOWER(expression) Restituisce un'espressione String dopo la conversione in caratteri minuscoli dei dati in caratteri maiuscoli.

Argomenti

expression: qualsiasi espressione valida di tipo String.

Valore restituito

Un oggetto String.

Esempio

SqlServer.LOWER('AbB')
LTRIM(expression) Restituisce un'espressione String dopo avere rimosso gli spazi iniziali.

Argomenti

expression: qualsiasi espressione valida di tipo String.

Valore restituito

Un oggetto String.

Esempio

SqlServer.LTRIM(' d')
NCHAR(expression) Restituisce un tipo String Unicode con il codice integer specificato, in base a quanto definito dallo standard Unicode.

Argomenti

expression: tipo Int32.

Valore restituito

Tipo String Unicode.

Esempio

SqlServer.NCHAR(65)
PATINDEX('%pattern%', expression) Restituisce la posizione iniziale della prima occorrenza di un modello in un'espressione String specificata.

Argomenti

'%pattern%': tipo String ASCII o Unicode. È possibile usare i caratteri jolly. Il carattere % deve, tuttavia, precedere e seguire il criterio di ricerca, tranne quando si esegue la ricerca del primo o dell'ultimo carattere.

expression: tipo String ASCII o Unicode in cui cercare il criterio specificato.

Valore restituito

Oggetto Int32.

Esempio

SqlServer.PATINDEX('abc', 'ab')
QUOTENAME('char_string' [, 'quote_char']) Restituisce un tipo String Unicode a cui sono stati aggiunti i delimitatori per rendere la stringa di input un identificatore delimitato valido di SQL Server 2005.

Argomenti

char_string: tipo String Unicode.

quote_char: stringa di un solo carattere da usare come delimitatore. Può essere costituita da una virgoletta singola ( ' ), da una parentesi quadra aperta o chiusa ( [ ] ) oppure da virgolette doppie ( " ). Se quote_char non viene specificato, vengono usate le parentesi quadre.

Valore restituito

Tipo String Unicode.

Esempio

SqlServer.QUOTENAME('abc[]def')
REPLACE(expression1, expression2, expression3) Sostituisce un'espressione di caratteri con un'altra espressione di caratteri.

Argomenti

expression1: espressione stringa da cercare. expression1 può essere di tipo string Unicode o ASCII.

expression2:la sottostringa da trovare. expression2 può essere di tipo string Unicode o ASCII.

expression3: stringa di sostituzione. expression3 può essere di tipo string Unicode o ASCII.

Esempio

SqlServer.REPLACE('aabbcc', 'bc', 'zz')
REPLICATE(char_expression, int_expression) Ripete un'espressione di caratteri per un numero di volte specificato.

Argomenti

char_expression: tipo String Unicode o ASCII.

int_expression: tipo Int64 (non supportato in SQL Server 2000) o Int32.

Valore restituito

Tipo String Unicode o ASCII.

Esempio

SqlServer.REPLICATE('aa',2)
REVERSE(expression) Restituisce un tipo string Unicode o ASCII con le posizioni dei caratteri invertite rispetto alla stringa di input.

Argomenti

expression: tipo String Unicode o ASCII.

Valore restituito

Tipo String Unicode o ASCII.

Esempio

SqlServer.REVERSE('abcd')
RIGHT(char_expression, count) Restituisce la parte finale di una stringa di caratteri, di lunghezza pari al numero di caratteri specificato.

Argomenti

char_expression: tipo string Unicode o ASCII. Usare la funzione CAST per convertire in modo esplicito character_expression.

count: tipo Int64 (non restituito in SQL Server 2000) o Int32 che specifica quanti caratteri di character_expression verranno restituiti.

Valore restituito

Tipo String ASCII.

Esempio

SqlServer.RIGHT('SQL Server', 6)
RTRIM(expression) Restituisce un tipo string Unicode o ASCII dopo aver rimosso gli spazi finali.

Argomenti

expression: tipo String Unicode o ASCII.

Valore restituito

Tipo String Unicode o ASCII.

Esempio

SqlServer.RTRIM(' d e ')
SOUNDEX(expression) Restituisce un codice di quattro caratteri (SOUNDEX) per valutare la somiglianza di due stringhe.Argomenti

expression: tipo string Unicode o ASCII.

Valore restituito

Tipo String ASCII. Un codice di quattro caratteri (SOUNDEX) è una stringa che consente di valutare la somiglianza di due stringhe.

Esempio

Select SqlServer.SOUNDEX('Smith'), SqlServer.SOUNDEX('Smythe') FROM {1}

Resi

----- ----- S530 S530
SPACE(int_expression) Restituisce un tipo String ASCII di spazi ripetuti.

Argomenti

int_expression: tipo Int64 (non restituito in SQL Server 2000) o Int32 che indica il numero di spazi.

Valore restituito

Tipo String ASCII.

Esempio

SqlServer.SPACE(2)
STR(float_expression [, length [, decimal]]) Restituisce un oggetto String ASCII convertito da dati numerici.

Argomenti

float _expression: espressione del tipo di dati numerico approssimato (Double) con un separatore decimale.

length: (facoltativo) tipo Int32 che rappresenta la lunghezza totale che include il separatore decimale, il segno, le cifre e gli spazi. L'impostazione predefinita è 10.

decimal:(opzionale) Un oggetto Int32 che rappresenta il numero di posizioni a destra del separatore decimale. Il numero decimale deve essere minore o uguale a 16. Se è maggiore di 16, il risultato verrà troncato dopo le prime sedici posizioni a destra del separatore decimale.

Valore restituito

Tipo String ASCII.

Esempio

SqlServer.STR(212.0)
STUFF(str_expression, start, length, str_expression_to_insert) Elimina una lunghezza di caratteri specificata e inserisce un altro set di caratteri in corrispondenza di un punto iniziale specificato in un'espressione stringa.

Argomenti

str_expression: tipo String Unicode o ASCII.

start: Valore Int64 (non restituito in SQL Server 2000) o Int32 che specifica il percorso in cui avviare l'eliminazione e l'inserimento.

length: valore Int64 (non restituito in SQL Server 2000) o Int32 che specifica il numero di caratteri da eliminare.

str_expression_to_insert: tipo String Unicode o ASCII.

Valore restituito

Tipo String Unicode o ASCII.

Esempio

SqlServer.STUFF('abcd', 2, 2, 'zz')
SUBSTRING(str_expression, start, length) Restituisce parte di un'espressione String.

Argomenti

str_expression: espressione di un tipo String (ASCII o Unicode) o Binary.

start: tipo Int64 (non restituito in SQL Server 2000) o Int32 che specifica il punto iniziale della sottostringa. 1 si riferisce al primo carattere nella stringa.

length: tipo Int64 (non restituito in SQL Server 2000) o Int32 che specifica quanti caratteri dell'espressione verranno restituiti.

Valore restituito

Tipo String (ASCII o Unicode) o Binary.

Esempio

SqlServer.SUBSTRING('abcd', 2, 2)
UNICODE(expression) Restituisce il valore intero, come definito dallo standard Unicode, per il primo carattere dell'espressione di input.

Argomenti

expression: tipo String Unicode.

Valore restituito

Oggetto Int32.

Esempio

SqlServer.UNICODE('a')
UPPER(expression) Restituisce un'espressione String dopo la conversione dei caratteri minuscoli in caratteri maiuscoli.

Argomenti

expression: espressione di un tipo string ASCII o Unicode.

Valore restituito

Tipo String ASCII o Unicode.

Esempio

SqlServer.UPPER('AbB')

Per altre informazioni sulle funzioni String supportate da SqlClient, vedere Funzioni stringa (Transact-SQL).

Vedi anche