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()
.