tipo money entre ejemplo diferencia dato convert campo sql-server sqldatatypes

money - ¿Hay alguna diferencia entre DECIMAL y NUMERIC en SQL Server?



sql server decimal format (5)

¿Hay alguna diferencia entre los tipos de datos DECIMAL y NUMERIC en SQL Server?

¿Cuándo debería usar DECIMAL y cuándo NUMERIC?


Ellos son lo mismo. Numérico es funcionalmente equivalente a decimal.

MSDN: decimal y numérico


Esto es lo que dice el estándar SQL2003 (§6.1 Tipos de datos) sobre los dos:

<exact numeric type> ::= NUMERIC [ <left paren> <precision> [ <comma> <scale> ] <right paren> ] | DECIMAL [ <left paren> <precision> [ <comma> <scale> ] <right paren> ] | DEC [ <left paren> <precision> [ <comma> <scale> ] <right paren> ] | SMALLINT | INTEGER | INT | BIGINT ... 21) NUMERIC specifies the data type exact numeric, with the decimal precision and scale specified by the <precision> and <scale>. 22) DECIMAL specifies the data type exact numeric, with the decimal scale specified by the <scale> and the implementation-defined decimal precision equal to or greater than the value of the specified <precision>.


La respuesta de Joakim Backman es específica, pero esto puede brindarle mayor claridad.

Hay una pequeña diferencia. Según SQL For Dummies, 8ª Edición (2013):

El tipo de datos DECIMAL es similar a NUMERIC. ... La diferencia es que su implementación puede especificar una precisión mayor que la especificada; de ser así, la implementación utiliza la mayor precisión. Si no especifica precisión o escala, la implementación usa valores predeterminados, como lo hace con el tipo NÚMERO.

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.


Que yo sepa, no hay diferencia entre los tipos de datos NUMÉRICOS y DECIMALES. Son sinónimos entre sí y cualquiera de ellos se puede usar. Los tipos de datos DECIMAL y NUMERIC son tipos de datos numéricos con precisión y escala fija.

Editar:

Hablar con algunos colegas tal vez tiene algo que ver con que DECIMAL es el estándar ANSI SQL y NUMERIC es uno que Mircosoft prefiere ya que se encuentra más comúnmente en los lenguajes de programación. ...Tal vez ;)


Son sinónimos, no hay diferencia en absoluto. Los tipos de datos numéricos y numéricos son tipos de datos numéricos con precisión y escala fijas.

-- Initialize a variable, give it a data type and an initial value declare @myvar as decimal(18,8) or numeric(18,8)----- 9 bytes needed -- Increse that the vaue by 1 set @myvar = 123456.7 --Retrieve that value select @myvar as myVariable