float y real (Transact-SQL)float and real (Transact-SQL)

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

Tipos de datos numéricos y aproximados que se utilizan con datos numéricos de coma flotante.Approximate-number data types for use with floating point numeric data. Los datos de coma flotante son aproximados; por tanto, no todos los valores del rango del tipo de datos se pueden representar con exactitud.Floating point data is approximate; therefore, not all values in the data type range can be represented exactly. El sinónimo ISO para real es float(24) .The ISO synonym for real is float(24).

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

float [ ( n ) ]Donde n es el número de bits que se usan para almacenar la mantisa del número de float en notación científica y, por tanto, dicta su precisión y el tamaño de almacenamiento.float [ (n) ] Where n is the number of bits that are used to store the mantissa of the float number in scientific notation and, therefore, dictates the precision and storage size. Si se especifica n, debe ser un valor entre 1 y 53.If n is specified, it must be a value between 1 and 53. El valor predeterminado de n es 53.The default value of n is 53.

Valor nn value PrecisionPrecision Tamaño de almacenamientoStorage size
1-241-24 7 dígitos7 digits 4 bytes4 bytes
25-5325-53 15 dígitos15 digits 8 bytes8 bytes

Nota

SQL ServerSQL Server trata n como uno de dos valores posibles.treats n as one of two possible values. Si 1<=n<=24, n se trata como 24.If 1<=n<=24, n is treated as 24. Si 25<=n<=53, n se trata como 53.If 25<=n<=53, n is treated as 53.

El tipo de datos SQL ServerSQL Server float[ (n) ] cumple con el estándar ISO para todos los valores de n desde 1 hasta 53.The SQL ServerSQL Server float[(n)] data type complies with the ISO standard for all values of n from 1 through 53. El sinónimo de double precision es float(53) .The synonym for double precision is float(53).

Nota

Para ver la sintaxis de Transact-SQL para SQL Server 2014 y versiones anteriores, consulte Versiones anteriores de la documentación.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ObservacionesRemarks

Tipo de datosData type IntervaloRange StorageStorage
floatfloat De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308- 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308 Depende del valor de nDepends on the value of n
realreal De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38- 3.40E + 38 to -1.18E - 38, 0 and 1.18E - 38 to 3.40E + 38 4 bytes4 Bytes

Convertir datos float y realConverting float and real data

Los valores de float se truncan cuando se convierten a cualquier tipo de entero.Values of float are truncated when they are converted to any integer type.

Cuando convierte de valores de float o real a datos de carácter, suele resultar más útil usar la función de cadena STR que usar CAST( ).When you want to convert from float or real to character data, using the STR string function is usually more useful than CAST( ). Esto se debe a que STR permite más control sobre el formato.This is because STR enables more control over formatting. Para más información, vea STR (Transact-SQL) y Funciones (Transact-SQL).For more information, see STR (Transact-SQL) and Functions (Transact-SQL).

Antes de SQL Server 2016 (13.x)SQL Server 2016 (13.x), la conversión de los valores float a decimal o numeric se restringía únicamente a los valores con una precisión de 17 dígitos.Prior to SQL Server 2016 (13.x)SQL Server 2016 (13.x), conversion of float values to decimal or numeric is restricted to values of precision 17 digits only. Cualquier valor float menor de 5E-18 (cuando se establece mediante la notación científica de 5E-18 o la notación decimal de 0,0000000000000000050000000000000005) se redondea hacia abajo a 0.Any float value less than 5E-18 (when set using either the scientific notation of 5E-18 or the decimal notation of 0.0000000000000000050000000000000005) rounds down to 0. A partir de SQL Server 2016 (13.x)SQL Server 2016 (13.x) esto ya no es una restricción.This is no longer a restriction as of SQL Server 2016 (13.x)SQL Server 2016 (13.x).

Consulte tambiénSee also

ALTER TABLE (Transact-SQL)ALTER TABLE (Transact-SQL)
CAST y CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)CREATE TABLE (Transact-SQL)
Conversiones de tipos de datos (motor de base de datos)Data Type Conversion (Database Engine)
Tipos de datos (Transact-SQL)Data Types (Transact-SQL)
DECLARE @local_variable (Transact-SQL)DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)SET @local_variable (Transact-SQL)