Condividi tramite


STR (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW) Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric

Restituisce dati di tipo carattere convertiti da dati di tipo numerico. I dati di tipo carattere sono giustificati a destra, con una lunghezza e una precisione decimale specificate.

Convenzioni relative alla 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. L'impostazione predefinita è 10.

decimal
Numero di posizioni a destra del separatore decimale. Il valore di 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

varchar

Osservazioni:

I valori dei parametri length e decimal della funzione STR devono essere positivi. Il numero viene arrotondato a un valore intero per impostazione predefinita o se 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 al numero di cifre 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, usare 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 cifra decimale.

SELECT STR(123.45, 6, 1);  
GO  

Il set di risultati è il seguente.

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

Il set di risultati è il seguente.

--  
**  
  
(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  

Il set di risultati è il seguente.

--------  
 123.000  
  
(1 row(s) affected)  

Vedi anche

CAST e CONVERT (Transact-SQL)
FORMAT (Transact-SQL)
Funzioni per i valori stringa (Transact-SQL)