float y real (Transact-SQL)
Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento 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