flutuante e real (Transact-SQL)float and real (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Tipos de dados numéricos aproximados para uso com dados numéricos de ponto flutuante.Approximate-number data types for use with floating point numeric data. Os dados de ponto flutuante são aproximados; portanto, nem todos os valores no intervalo de tipo de dados podem ser representados de maneira exata.Floating point data is approximate; therefore, not all values in the data type range can be represented exactly. O sinônimo ISO de real é float(24) .The ISO synonym for real is float(24).

Ícone de link do tópico Convenções da sintaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

float [ ( n ) ] em que n é o número de bits usado para armazenar a mantissa do número float na notação científica e, portanto, exige a precisão e o tamanho do armazenamento.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. Se n for especificado, ele precisará ser um valor entre 1 e 53.If n is specified, it must be a value between 1 and 53. O valor padrão de n é 53.The default value of n is 53.

Valor de nn value PrecisãoPrecision Tamanho de armazenamentoStorage size
1-241-24 7 dígitos7 digits 4 bytes4 bytes
25-5325-53 15 dígitos15 digits 8 bytes8 bytes

Observação

SQL ServerSQL Server trata n como um dos dois valores possíveis.treats n as one of two possible values. Se 1<=n<=24, n é tratado como 24.If 1<=n<=24, n is treated as 24. Se 25<=n<=53, n é tratado como 53.If 25<=n<=53, n is treated as 53.

O tipo de dados SQL ServerSQL Server float[ (n) ] está em conformidade com o padrão ISO para todos os valores de n de 1 a 53.The SQL ServerSQL Server float[(n)] data type complies with the ISO standard for all values of n from 1 through 53. O sinônimo de double precision é float(53) .The synonym for double precision is float(53).

ComentáriosRemarks

Tipo de dadosData type IntervaloRange ArmazenamentoStorage
floatfloat - 1,79E+308 a -2,23E-308, 0 e 2,23E-308 a 1,79E+308- 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308 Depende do valor de nDepends on the value of n
realreal - 3,40E + 38 a -1,18E - 38, 0 e 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

Convertendo dados float e realConverting float and real data

Os valores de float são truncados quando são convertidos em qualquer tipo de inteiro.Values of float are truncated when they are converted to any integer type.

Quando desejar fazer a conversão de float ou real em dados de caractere, normalmente, é mais útil usar a função de cadeia de caracteres STR do que CAST( ).When you want to convert from float or real to character data, using the STR string function is usually more useful than CAST( ). Isso porque STR habilita mais controle nas formatações.This is because STR enables more control over formatting. Para obter mais informações, consulte STR (Transact-SQL) e Funções (Transact-SQL).For more information, see STR (Transact-SQL) and Functions (Transact-SQL).

Antes do SQL Server 2016 (13.x)SQL Server 2016 (13.x), a conversão de valores float para decimal ou numeric era restrita somente a valores com precisão 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. Qualquer valor float menor que 5E-18 (quando definido usando a notação científica de 5E-18 ou a notação decimal de 0,0000000000000000050000000000000005) é arredondado para 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. Essa não é mais uma restrição no SQL Server 2016 (13.x)SQL Server 2016 (13.x) em diante.This is no longer a restriction as of SQL Server 2016 (13.x)SQL Server 2016 (13.x).

Confira tambémSee also

ALTER TABLE (Transact-SQL)ALTER TABLE (Transact-SQL)
CAST e CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)CREATE TABLE (Transact-SQL)
Conversão de tipo de dados (Mecanismo de Banco de Dados)Data Type Conversion (Database Engine)
Tipos de dados (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)