Como você escreve um número com duas casas decimais para o servidor sql?
sql
sql-server
decimal
number-formatting
Shiliang
fonte
fonte
Use a
Str()
função. São necessários três argumentos (o número, o número total de caracteres a serem exibidos e o número de casas decimais a serem exibidasexibe: '12345.679' (3 espaços, 5 dígitos 12345, um ponto decimal e três dígitos decimais (679). - arredonda se for necessário truncar (a menos que a parte inteira seja muito grande para o tamanho total, nesse caso, são exibidos asteriscos.)
para um total de 12 caracteres, com 3 à direita do ponto decimal.
fonte
it rounds if it has to truncate
... a menos que a parte inteira seja muito grande para o tamanho total, nesse caso, asteriscos serão exibidos. Isso é mencionado na documentação paraSTR
. Aqui está uma citação dessa página:STR(1223,2) truncates the result set to **.
Geralmente, você pode definir a precisão de um número no SQL, definindo-o com parâmetros. Na maioria dos casos, isso será
NUMERIC(10,2)
ouDecimal(10,2)
- definirá uma coluna como um Número com 10 dígitos no total com uma precisão de 2 (casas decimais).Editado para maior clareza
fonte
Este trabalho para mim e sempre mantém frações de dois dígitos
23,1 ==> 23,10
25,569 ==> 25,56
1 ==> 1,00
Captura de tela do código
fonte
É assim que as crianças estão fazendo isso hoje:
123,46
fonte
DECLARE @test DECIMAL(18,6) = 0.456789
entãoSELECT FORMAT(@test, '##.##')
retorna:.46
Como você consegue mostrar o zero inicial0.46
:?Se você precisar apenas de duas casas decimais, a maneira mais simples é ..
OU
Resultado
fonte
Se você está bem em arredondar o número em vez de truncá-lo, é apenas:
fonte
Tente o seguinte:
fonte
Multiplique o valor que você deseja inserir (por exemplo, 2,99) por 100
Em seguida, insira a divisão por 100 do resultado, adicionando 0,01 ao final:
fonte
Isso permitirá um total de 10 dígitos com 2 valores após o decimal. Isso significa que ele pode acomodar o valor antes de decimal até 8 dígitos e 2 após decimal.
Para validar, coloque o valor na seguinte consulta.
fonte