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

Como faço para converter de um tipo de dados de dinheiro no SQL Server?


As conversões normais de dinheiro preservarão os centavos individuais:
SELECT convert(varchar(30), moneyfield, 1)

O último parâmetro decide como será o formato de saída:

0 (padrão) Sem vírgulas a cada três dígitos à esquerda do ponto decimal e dois dígitos à direita do ponto decimal; por exemplo, 4235,98.

1 Vírgulas a cada três dígitos à esquerda do ponto decimal e dois dígitos à direita do ponto decimal; por exemplo, 3.510,92.

2 Sem vírgulas a cada três dígitos à esquerda do ponto decimal e quatro dígitos à direita do ponto decimal; por exemplo, 4235.9819.

Se você quiser truncar os centavos e contar em libras, poderá usar o arredondamento para a libra mais próxima, o piso para a libra inteira mais baixa ou o teto para arredondar as libras:
SELECT convert(int, round(moneyfield, 0))
SELECT convert(int, floor(moneyfield))
SELECT convert(int, ceiling(moneyfield))