Existe alguma diferença entre os tipos de dados DECIMAL e NUMERIC no SQL Server?
Quando devo usar DECIMAL e quando NUMERIC?
sql-server
sqldatatypes
Dhanapal
fonte
fonte
decimal
é exatamente tão preciso quanto declarado, enquantonumeric
é pelo menos tão preciso quanto declarado. No SQL Server, ambos são exatamente tão precisos quanto declarados, ou seja, não usam a flexibilidadenumeric
permitida pelo padrão.Column '<referencedColumn>' is not the same data type as referencing column '<parentTable>.<parentColumn>' in foreign key '<yourKeyName>'
. Eles devem ser NUMERIC (x, y) ou DECIMAIS (x, y).decimal
é pelo menos tão preciso quanto declarado, enquantonumeric
é exatamente tão preciso quanto declarado.Isto é o que o padrão SQL2003 (§6.1 Tipos de Dados) diz sobre os dois:
fonte
Que eu saiba, não há diferença entre os tipos de dados NUMERIC e DECIMAL. Eles são sinônimos um do outro e qualquer um deles pode ser usado. Os tipos de dados DECIMAL e NUMÉRICO são tipos de dados numéricos com precisão e escala fixas.
Editar:
Falando com alguns colegas, talvez isso tenha algo a ver com DECIMAL sendo o padrão ANSI SQL e NUMERIC sendo o que a Mircosoft prefere, pois é mais comum em linguagens de programação. ...Talvez ;)
fonte
Eles são sinônimos, nenhuma diferença.Tipos de dados decimais e numéricos são tipos de dados numéricos com precisão e escala fixas.
fonte
A resposta de Joakim Backman é específica, mas isso pode trazer mais clareza.
Há uma pequena diferença. Conforme SQL For Dummies, 8ª edição (2013):
Parece que a diferença em algumas implementações do SQL está na integridade dos dados. DECIMAL permite o estouro do que é definido com base em alguns padrões do sistema, enquanto NUMERIC não.
fonte
Eles são exatamente os mesmos. Quando você usar, seja consistente. Use um deles no seu banco de dados
fonte