float y real (Transact-SQL)
Se aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de análisis SQL en Microsoft Fabric
Almacenamiento en Microsoft Fabric
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. El sinónimo ISO para real es float(24) .
Convenciones de sintaxis de Transact-SQL
Sintaxis
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. Si se especifica n, debe ser un valor entre 1 y 53. El valor predeterminado de n es 53.
Valor n | Precision | 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 SQL Server float[ (n) ] cumple con el estándar ISO para todos los valores de n desde 1 hasta 53. El sinónimo de double precision es float(53) .
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulta la Documentación de versiones anteriores.
Comentarios
Tipo de datos | Intervalo | Storage |
---|---|---|
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 |
Convertir datos float y real
Los valores de float se truncan cuando se convierten a cualquier tipo de entero.
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( ). Esto se debe a que STR permite más control sobre el formato. Para más información, vea STR (Transact-SQL) y Funciones (Transact-SQL).
Antes de 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. 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,000000000000000005) se redondea a 0. A partir de SQL Server 2016 (13.x) esto ya no es una restricción.
Consulte también
ALTER TABLE (Transact-SQL)
CAST y CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Conversión de tipos de datos (Motor de base de datos)
Tipos de datos (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de