Escrever um número com duas casas decimais servidor SQL

Como se escreve um número com duas casas decimais para o servidor sql?

Author: Luke Girvin, 2009-01-14

10 answers

Tenta isto

SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)
 220
Author: Chanoch, 2015-07-23 11:31:29

Utilizar Str() A Função. São necessários três argumentos (o número, o número total de caracteres para mostrar e o número de casas decimais para mostrar

  Select Str(12345.6789, 12, 3)

Mostra: "12345.679" (3 espaços, 5 dígitos 12345, uma casa decimal e três casas decimais (679). - roda se tiver que truncar, (a menos que a parte inteira seja muito grande para o tamanho total, caso em que asteriscos são exibidos em vez disso.)

Para um Total de 12 caracteres, com 3 à direita das casas decimais ponto.

 72
Author: Charles Bretana, 2013-06-04 23:05:19

Geralmente você pode definir a precisão de um número em SQL, definindo-o com parâmetros. Para a maioria dos casos, este será NUMERIC(10,2) ou Decimal(10,2) - irá definir uma coluna como um número com 10 dígitos totais com uma precisão de 2 (casas decimais).

Edited for clarity

 37
Author: AAA, 2014-04-26 00:02:56

Isto funciona para mim e mantém sempre fracções de dois dígitos

23.1 ==> 23.10

25.569 ==> 25.56

1 ==> 1.00

Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2

Imagem de código

 19
Author: Mohamed Ramadan, 2016-11-28 09:51:21
É assim que as crianças fazem hoje.
DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')

123.46

 19
Author: Lysoll, 2018-07-26 23:47:23

Se você só precisa de duas casas decimais,a maneira mais simples é..

SELECT CAST(12 AS DECIMAL(16,2))

Ou

SELECT CAST('12' AS DECIMAL(16,2))

resultado

12.00
 14
Author: SonalPM, 2016-12-07 11:09:49

Se não se importar com arredondando o número em vez de truncá-lo, então é só:

ROUND(column_name,decimals)
 7
Author: antoine, 2016-10-05 22:16:46

Tenta isto:

 declare @MyFloatVal float;

    set @MyFloatVal=(select convert(decimal(10, 2), 10.254000))

    select  @MyFloatVal

    Convert(decimal(18,2),r.AdditionAmount) as AdditionAmount
 2
Author: Anil Chaudhary, 2017-03-28 07:13:38

Multiplique o valor que deseja inserir (ex. 2, 99) por 100

Em seguida, inserir a divisão por 100 do resultado adicionando .01 até ao fim:

299.01/100
 0
Author: SQL Master, 2012-10-26 18:40:51

Isto permitirá um total de 10 dígitos com 2 valores após a casa decimal. Significa que pode acomodar o valor antes de decimal até 8 dígitos e 2 Depois de decimal.

Para validar, coloque o valor na seguinte consulta.

DECLARE vtest  number(10,2);
BEGIN
SELECT 10.008 INTO vtest FROM dual;
dbms_output.put_line(vtest);
END;
 0
Author: kumar vishwash, 2012-10-27 10:50:41