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.Argomentiexpression : 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).