¿Cómo se escribe un número con dos decimales para el servidor SQL?
sql
sql-server
decimal
number-formatting
Shiliang
fuente
fuente
Str()
Función de uso Se necesitan tres argumentos (el número, el número total de caracteres para mostrar y el número de decimales para mostrarmuestra: '12345.679' (3 espacios, 5 dígitos 12345, un punto decimal y tres dígitos decimales (679). - se redondea si tiene que truncarse (a menos que la parte entera sea demasiado grande para el tamaño total, en cuyo caso en su lugar se muestran asteriscos).
para un total de 12 caracteres, con 3 a la derecha del punto decimal.
fuente
it rounds if it has to truncate
... a menos que la parte entera sea demasiado grande para el tamaño total, en cuyo caso se muestran asteriscos en su lugar. Esto se menciona en la documentación deSTR
. Aquí hay una cita de esa página:STR(1223,2) truncates the result set to **.
En general, puede definir la precisión de un número en SQL definiéndolo con parámetros. Para la mayoría de los casos, esto será
NUMERIC(10,2)
oDecimal(10,2)
- definirá una columna como un Número con 10 dígitos totales con una precisión de 2 (lugares decimales).Editado para mayor claridad
fuente
Esto funciona para mí y siempre mantiene fracciones de dos dígitos
23.1 ==> 23.10
25.569 ==> 25.56
1 ==> 1.00
Captura de pantalla de código
fuente
Así es como lo hacen los niños hoy:
123,46
fuente
DECLARE @test DECIMAL(18,6) = 0.456789
luegoSELECT FORMAT(@test, '##.##')
devuelve:.46
¿Cómo logra que muestre el cero inicial0.46
:?Si solo necesita dos decimales, la forma más simple es ...
O
Salida
fuente
Si está bien redondeando el número en lugar de truncarlo, entonces es solo:
fuente
Prueba esto:
fuente
Multiplique el valor que desea insertar (ej. 2.99) por 100
Luego inserte la división por 100 del resultado agregando .01 al final:
fuente
Esto permitirá un total de 10 dígitos con 2 valores después del decimal. Significa que puede acomodar el valor del valor antes del decimal hasta 8 dígitos y 2 después del decimal.
Para validar, coloque el valor en la siguiente consulta.
fuente