STR (Transact-SQL)
Restituisce dati di tipo carattere convertiti da dati di tipo numerico.
Convenzioni della sintassi Transact-SQL
Sintassi
STR ( float_expression [ , length [ , decimal ] ] )
Argomenti
- float_expression
Espressione del tipo di dati numerico approssimato (float) con un separatore decimale.
- length
Lunghezza totale, che include il separatore decimale, il segno, le cifre e gli spazi. Il valore predefinito è 10.
- decimal
Numero di posizioni a destra del separatore decimale. decimal deve essere minore o uguale a 16. Se decimal è maggiore di 16, il risultato viene troncato in modo da includere sedici posizioni a destra del separatore decimale.
Tipi restituiti
char
Osservazioni
I valori dei parametri length e decimal della funzione STR devono essere positivi. Il numero viene arrotondato a un valore integer per impostazione predefinita o quando il parametro decimal è 0. La lunghezza specificata deve essere maggiore o uguale alla parte intera del numero (a sinistra del separatore decimale) più il segno del numero, se disponibile. Un argomento di tipo float_expression breve viene allineato a destra in base alla lunghezza specificata, mentre un argomento di tipo float_expression lungo viene troncato in base al numero di posizioni decimali specificato. Ad esempio, STR(12**,10) restituisce il risultato 12, che viene allineato a destra nel set di risultati. STR(1223,**2) tronca invece il set di risultati a **. Le funzioni stringa possono essere nidificate.
[!NOTA] Per eseguire la conversione in dati Unicode, utilizzare STR in una funzione di conversione CONVERT o CAST.
Esempi
Nell'esempio seguente un'espressione composta da cinque cifre e un separatore decimale viene convertita in una stringa di caratteri con sei posizioni. La parte frazionaria del numero viene arrotondata a una posizione decimale.
SELECT STR(123.45, 6, 1)
GO
Set di risultati:
------
123.5
(1 row(s) affected)
Quando l'espressione supera la lunghezza specificata, la stringa restituisce **
per la lunghezza specificata.
SELECT STR(123.45, 2, 2)
GO
Set di risultati:
--
(1 row(s) affected)
Quando nella funzione STR
i dati numerici sono nidificati, il risultato corrisponde comunque a dati di tipo carattere nel formato specificato.
SELECT STR (FLOOR (123.45), 8, 3)
GO
Set di risultati:
--------
123.000
(1 row(s) affected)
Vedere anche
Riferimento
Funzioni per i valori stringa (Transact-SQL)