Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como converter um inteiro para um decimal no SQL Server

Problema:


Você gostaria de converter um valor inteiro em um tipo de dados DECIMAL no SQL Server.

Vamos converter um inteiro para o tipo de dados DECIMAL.

Solução 1:


Usaremos o CAST() função. Aqui está a consulta que você escreveria:
SELECT 
  CAST(12 AS DECIMAL(7,2) ) AS decimal_value
;

Aqui está o resultado:
valor_decimal
12.00

Discussão:


Use o CAST() função para converter um inteiro em um tipo de dados DECIMAL. Essa função usa uma expressão ou um nome de coluna como argumento, seguido pela palavra-chave AS e o novo tipo de dados. Em nosso exemplo, convertemos um inteiro (12) em um valor decimal (12,00). O valor exibido tem dois pontos decimais porque DECIMAL em CAST() tem duas casas decimais.

O SQL Server oferece outra opção:CONVERT() . Esta não é uma função SQL Standard como CAST() . A consulta abaixo mostra seu uso.

Solução 2:


Aqui está outra maneira de converter um inteiro em um tipo DECIMAL:
SELECT 
  CONVERT(DECIMAL(7,2),12 ) AS decimal_value
;

Esta consulta produz o mesmo resultado que CAST() , mas recebe dois argumentos obrigatórios:o tipo de dados e uma expressão, valor ou nome de coluna para converter. Um terceiro parâmetro opcional especifica como o valor deve ser formatado em seu novo tipo. Leia mais sobre formatação de valor na documentação oficial do SQL Server.

Se você não precisar retornar o valor em um determinado formato, use CAST() .