float e real (Transact-SQL)
Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)SQL analytics endpoint in Microsoft FabricWarehouse in Microsoft Fabric
Tipi di dati numerici approssimati da utilizzare con dati numerici a virgola mobile. I dati a virgola mobile sono approssimati. Pertanto, non tutti i valori nell'intervallo del tipo di dati possono essere rappresentati in modo esatto. Il sinonimo ISO per real è float(24).
Convenzioni di sintassi Transact-SQL
Sintassi
float [ (n) ] dove n è il numero di bit usato per archiviare la mantissa del numero float in notazione scientifica e pertanto determina la precisione e le dimensioni di archiviazione. Se n è specificato, deve essere un valore tra 1 e 53. Il valore predefinito di n è 53.
Valore n | Precision | Dimensioni dello spazio di archiviazione |
---|---|---|
1-24 | 7 cifre | 4 byte |
25-53 | 15 cifre | 8 byte |
Nota
SQL Server interpreta n come uno dei due valori possibili. Se 1<=n<=24, n viene interpretato come 24. Se 25<=n<=53, n viene interpretato come 53.
Il tipo di dati float[(n)] di SQL Server è conforme allo standard ISO per tutti i valori di n, da 1 a 53. Il sinonimo di double precision è float(53).
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.
Osservazioni:
Tipo di dati | Intervallo | Storage |
---|---|---|
float | Da - 1,79E+308 a -2,23E-308, 0 e da 2,23E-308 a 1,79E+308 | Dipende dal valore di n |
real | Da - 3,40E + 38 a -1,18E - 38, 0 e da 1,18E - 38 a 3,40E + 38 | 4 byte |
Conversione dei dati di tipo float e real
I valori di tipo float vengono troncati in fase di conversione in un tipo di dati Integer.
Durante la conversione dal tipo di dati float o real a dati carattere, l'uso della funzione stringa STR è in genere più pratico rispetto all'uso di CAST( ). STR infatti garantisce un maggiore controllo sul formato. Per altre informazioni, vedere STR (Transact-SQL) e Funzioni (Transact-SQL).
Prima di SQL Server 2016 (13.x), la conversione dei valori float in decimal o numeric è limitata ai soli valori con precisione a 17 cifre. Qualsiasi valore float minore di 5E-18 (se impostato usando la notazione scientifica di 5E-18 o la notazione decimale di 0,000000000000000005) viene arrotondato per difetto a 0. Questa non è più una restrizione a partire da SQL Server 2016 (13.x).
Vedi anche
ALTER TABLE (Transact-SQL)
CAST e CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Conversione del tipo di dati (motore di database)
Tipi di dati (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per