float y real (Transact-SQL)
Tipos de datos numéricos y aproximados que se utilizan con datos numéricos de coma flotante. Los datos de coma flotante son aproximados; por tanto, no todos los valores del rango del tipo de datos se pueden representar con exactitud.
[!NOTA]
El sinónimo ISO de real es el tipo float(24).
Tipo de datos |
Intervalo |
Almacenamiento |
---|---|---|
float |
De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308 |
Depende del valor de n. |
real |
De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38 |
4 Bytes |
Convenciones de sintaxis de Transact-SQL
Sintaxis
float [ (n) ]
Donde n es el número de bits que se utilizan para almacenar la mantisa del número float en notación científica y, por tanto, dicta su precisión y el tamaño de almacenamiento. Si se especifica n, debe ser un valor entre 1 y 53. El valor predeterminado de n es 53.Valor del parámetro n
Precisión
Tamaño de almacenamiento
1-24
7 dígitos
4 bytes
25-53
15 dígitos
8 bytes
[!NOTA]
SQL Server trata n como uno de dos valores posibles. Si 1<=n<=24, n se trata como 24. Si 25<=n<=53, n se trata como 53.
El tipo de datos float[(n)] de SQL Server cumple con el estándar ISO para todos los valores de n desde 1 hasta 53. El sinónimo de double precision es el tipo float(53).
Convertir datos float y real
Los valores float se truncan cuando se convierten a cualquier tipo de entero.
Cuando convierte de valores float o real a datos de carácter, suele resultar más útil la función de cadena STR que CAST( ). Esto se debe a que STR permite más control sobre el formato. Para obtener más información, vea STR (Transact-SQL) y Funciones integradas (Transact-SQL).
La conversión de los valores float que utilizan la notación científica a decimal o numeric se restringe únicamente a los valores con una precisión de 17 dígitos. Cualquier valor con una precisión mayor de 17 se redondea a cero.
Vea también
Referencia
DECLARE @local\_variable (Transact-SQL)
SET @local\_variable (Transact-SQL)