Apakah ada perbedaan antara tipe data DECIMAL dan NUMERIC dalam SQL Server?
Kapan saya harus menggunakan DECIMAL dan kapan NUMERIC?
sql-server
sqldatatypes
Dhanapal
sumber
sumber
decimal
adalah persis setepat menyatakan, sementaranumeric
ini setidaknya setepat dinyatakan. Dalam SQL Server keduanya sama persis dengan yang dinyatakan, yaitu tidak menggunakan fleksibilitas untuknumeric
standar yang memungkinkan.Column '<referencedColumn>' is not the same data type as referencing column '<parentTable>.<parentColumn>' in foreign key '<yourKeyName>'
. Keduanya harus NUMERIC (x, y), atau keduanya DECIMAL (x, y).decimal
adalah setidaknya setepat menyatakan, sedangkannumeric
adalah persis setepat dinyatakan.Inilah yang kemudian dikatakan standar SQL2003 (§6.1 Tipe Data) tentang keduanya:
sumber
Sepengetahuan saya tidak ada perbedaan antara tipe data NUMERIC dan DECIMAL. Mereka identik satu sama lain dan salah satunya dapat digunakan. Tipe data DECIMAL dan NUMERIC adalah tipe data numerik dengan presisi dan skala tetap.
Edit:
Berbicara dengan beberapa kolega mungkin ada hubungannya dengan DECIMAL sebagai standar SQL ANSI dan NUMERIC menjadi salah satu yang disukai Mircosoft karena lebih umum ditemukan dalam bahasa pemrograman. ...Mungkin ;)
sumber
Mereka adalah sinonim, tidak ada perbedaan sama sekali. Tipe data numerik dan numerik adalah tipe data numerik dengan presisi dan skala tetap.
sumber
Jawaban Joakim Backman spesifik, tetapi ini dapat memberikan kejelasan tambahan untuknya.
Ada perbedaan kecil. Sesuai SQL Untuk Dummies, Edisi ke-8 (2013):
Tampaknya perbedaan pada beberapa implementasi SQL adalah dalam integritas data. DECIMAL memungkinkan overflow dari apa yang didefinisikan berdasarkan pada beberapa sistem default, sedangkan NUMERIC tidak.
sumber
Mereka persis sama. Ketika Anda menggunakannya konsisten. Gunakan salah satunya di basis data Anda
sumber