Pregunta

Declaré una columna como numérica (5,3) en SQL Server 2008 Exp R2 y supuse que me permitiría guardar valores como 12345.123, pero cuando intenté ingresar cualquier cosa mayor que 100 me da un error de desbordamiento. Me hizo creer que en numérico (5,3), 5 representa la longitud total del número, incluida la precisión y la escala. Teniendo esto en mente, cambié el tipo de columna a decimal (9,3) y supuse que me permitiría ingresar valores como 123456.123, pero nuevamente da un error de desbordamiento. No puedo entender cómo este tipo de datos y su precisión y escala son interpretados por SQL Server.
Actualizar:
Lo extraño es que al insertar valor numérico (9,3) solo permite ingresar valores como 1234.123, pero al editar la fila puedo ingresar el valor 123456.123. No sé qué está pasando aquí :(

¿Fue útil?

Solución

decimal(9,3) debería funcionar bien para 123456.123 ¡Por favor, verifíquelo nuevamente!

Ejecutivo

declare @d decimal(9,3) = 123456.123 

no da error. Este tipo de datos permite 6 dígitos a la izquierda del punto decimal y 3 a la derecha.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top