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

SE APLICA A: síSQL Server síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel 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 PrecisiónPrecision 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).

NotasRemarks

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

La conversión de los valores float que usan la notación científica a decimal o numeric se restringe únicamente a los valores con una precisión de 17 dígitos.Conversion of float values that use scientific notation to decimal or numeric is restricted to values of precision 17 digits only. Cualquier valor < 5E-18 se redondea a la baja a 0.Any value < 5E-18 rounds down to 0.

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