>> Tecnologia eletrônica >  >> Lar inteligente >> Vida Inteligente

Como converter Doubles em Integers em SQL


Os números de ponto flutuante de precisão dupla são representados pelo tipo de dados "float" no SQL Server. Ocasionalmente, pode ser necessário converter um número de ponto flutuante em um inteiro. Isso é obtido através do uso da função T-SQL "CAST()". A função "CAST()" não arredondará automaticamente os decimais para cima ou para baixo, mas pode ser combinada com a função T-SQL "ROUND()" se o arredondamento for desejado.

Etapa 1


Abra o SQL Server Management Studio.

Etapa 2


Abra uma nova janela de consulta.

Etapa 3


Converta um número de ponto flutuante em um inteiro sem arredondamento usando a função CAST() executando a seguinte instrução de consulta, substituindo "" por qualquer número de ponto flutuante:

SELECT CAST( AS INT)

Etapa 4


Converta e arredonde um número de ponto flutuante para um inteiro usando a função CAST() executando a seguinte instrução de consulta, substituindo "" por qualquer número de ponto flutuante:

SELECT CAST(ROUND(CAST( AS DECIMAL(10,3)), 0) AS INT)

Dica


A função "CONVERT()" pode ser substituída por "CAST()", se preferir.

Aviso


A função "ROUND()" retorna um tipo de dados numérico. Se você não converter o float como um decimal na chamada da função, um erro de estouro aritmético pode ocorrer em determinadas situações quando o número arredondado resulta em mais dígitos do que o argumento original.

A tentativa de converter um número menor que -2.147.483.647 ou maior que 2.147.483.647 resultará em um erro de estouro aritmético porque o número está fora do intervalo do tipo de dados inteiro.