Gibt es einen Unterschied zwischen den Datentypen DECIMAL und NUMERIC in SQL Server?
Wann sollte ich DECIMAL und wann NUMERIC verwenden?
sql-server
sqldatatypes
Dhanapal
quelle
quelle
decimal
ist genau so präzise wie deklarierte, währendnumeric
ist mindestens so präzise wie erklärt. In SQL Server sind beide genau so präzise wie deklariert, dh es wird nicht die Flexibilität verwendetnumeric
, die der Standard zulässt.Column '<referencedColumn>' is not the same data type as referencing column '<parentTable>.<parentColumn>' in foreign key '<yourKeyName>'
angezeigt. Beide müssen NUMERIC (x, y) oder DECIMAL (x, y) sein.decimal
ist mindestens so präzise wie erklärt, wohingegennumeric
ist genau so präzise wie erklärt.Dies sagt der SQL2003-Standard (§6.1 Datentypen) über die beiden:
quelle
Meines Wissens gibt es keinen Unterschied zwischen den Datentypen NUMERIC und DECIMAL. Sie sind synonym zueinander und beide können verwendet werden. DECIMAL- und NUMERIC-Datentypen sind numerische Datentypen mit fester Genauigkeit und Skalierung.
Bearbeiten:
Wenn Sie mit einigen Kollegen sprechen, hat dies möglicherweise etwas damit zu tun, dass DECIMAL der ANSI-SQL-Standard und NUMERIC einer ist, den Mircosoft bevorzugt, da er in Programmiersprachen häufiger vorkommt. ...Vielleicht ;)
quelle
Die Antwort von Joakim Backman ist spezifisch, aber dies kann zusätzliche Klarheit bringen.
Es gibt einen kleinen Unterschied. Gemäß SQL For Dummies, 8. Ausgabe (2013):
Es scheint, dass der Unterschied bei einigen Implementierungen von SQL in der Datenintegrität liegt. DECIMAL ermöglicht einen Überlauf von dem, was basierend auf einigen Systemstandards definiert ist, wo dies bei NUMERIC nicht der Fall ist.
quelle
Sie sind Synonyme, überhaupt kein Unterschied. Dezimale und numerische Datentypen sind numerische Datentypen mit fester Genauigkeit und Skalierung.
quelle
Sie sind genau das gleiche. Wenn Sie es verwenden, seien Sie konsistent. Verwenden Sie eine davon in Ihrer Datenbank
quelle