Condividi tramite


Funzioni String (Entity SQL)

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 utilizza SqlClient. Una proprietà dello spazio dei nomi del provider consente a Entity Framework di individuare il prefisso utilizzato 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 all'estrema sinistra di un'espressione stringa.

Argomenti

expression: qualsiasi espressione valida di un tipo String ASCII.

Valore restituito

Tipo 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 a partire dall'inizio di expression2.

Valore restituito

Tipo 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 sinistra di una stringa di caratteri, di lunghezza pari al numero di caratteri specificato.

Argomenti

expression: tipo string Unicode o ASCII. Utilizzare 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

Tipo 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

Tipo 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

Tipo 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 utilizzare 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

Tipo 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 utilizzare 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 utilizzate le parentesi quadre.

Valore restituito

Tipo String Unicode.

Esempio

SqlServer.QUOTENAME('abc[]def')

REPLACE( expression1, expression2, expression3)

Ripete un'espressione di caratteri per un numero di volte specificato.

Argomenti

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

expression2: sottostringa da trovare. string_expression2 può essere un tipo string Unicode o ASCII.

expression3: stringa di sostituzione. string_expression3 può essere un 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 destra di una stringa di caratteri, di lunghezza pari al numero di caratteri specificato.

Argomenti

char_expression: tipo string Unicode o ASCII. Utilizzare 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}

Restituisce

----- ----- 
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 inclusi il separatore decimale, il segno, le cifre e gli spazi. Il valore predefinito è 10.

decimal: (facoltativo) tipo 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 la posizione in cui iniziare 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 Integer, come definito dallo standard Unicode, per il primo carattere dell'espressione di input.

Argomenti

expression: tipo String Unicode.

Valore restituito

Tipo 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 ulteriori informazioni sulle funzioni String supportate da SqlClient, vedere la documentazione relativa alla versione di SQL Server specificata nel file manifesto del provider SqlClient:

SQL Server 2000 SQL Server 2005 SQL Server 2008

Funzioni per i valori stringa (Transact-SQL)

Funzioni per i valori stringa (Transact-SQL)

Funzioni per i valori stringa (Transact-SQL)

Vedere anche

Concetti

Provider di dati .NET Framework per SQL Server (SqlClient) per le funzioni di Entity Framework
Problemi noti del provider di dati .NET Framework per SQL Server (SqlClient) per Entity Framework