¿Hay alguna diferencia entre los tipos de datos DECIMAL y NUMERIC en SQL Server?
¿Cuándo debo usar DECIMAL y cuándo NUMERIC?
sql-server
sqldatatypes
Dhanapal
fuente
fuente
decimal
es exactamente tan preciso como se declara, mientras quenumeric
es al menos tan preciso como se declara. En SQL Server, ambos son exactamente tan precisos como declarados, es decir, no utiliza la flexibilidadnumeric
que permite el estándar.Column '<referencedColumn>' is not the same data type as referencing column '<parentTable>.<parentColumn>' in foreign key '<yourKeyName>'
. Ambos deben ser NÚMEROS (x, y), o ambos deben ser DECIMALES (x, y).decimal
es al menos tan preciso como se declara, mientras quenumeric
es exactamente tan preciso como se declara.Esto es lo que dice el estándar SQL2003 (§6.1 Tipos de datos) sobre los dos:
fuente
Que yo sepa, no hay diferencia entre los tipos de datos NUMÉRICOS y DECIMALES. Son sinónimos entre sí y cualquiera de los dos puede ser utilizado. Los tipos de datos DECIMAL y NUMERIC son tipos de datos numéricos con precisión y escala fijas.
Editar:
Hablar con algunos colegas tal vez tenga algo que ver con DECIMAL como el estándar ANSI SQL y NUMERIC como uno que Mircosoft prefiere, ya que se encuentra más comúnmente en los lenguajes de programación. ...Tal vez ;)
fuente
Son sinónimos, no hay ninguna diferencia. Los tipos de datos decimal y numérico son tipos de datos numéricos con precisión y escala fijas.
fuente
La respuesta de Joakim Backman es específica, pero esto puede aportarle una claridad adicional.
Hay una pequeña diferencia. Según SQL For Dummies, 8a edición (2013):
Parece que la diferencia en algunas implementaciones de SQL está en la integridad de los datos. DECIMAL permite el desbordamiento de lo que se define en función de algunos valores predeterminados del sistema, mientras que NUMERIC no lo hace.
fuente
Son exactamente lo mismo. Cuando lo uses, sé consistente. Use uno de ellos en su base de datos
fuente