Есть ли разница между типами данных DECIMAL и NUMERIC в SQL Server?
Когда мне следует использовать DECIMAL, а когда NUMERIC?
sql-server
sqldatatypes
Dhanapal
источник
источник
decimal
он точно такой же, как заявлено, ноnumeric
, по крайней мере, так же точен, как заявлено. В SQL Server и то, и другое точно так же точно, как заявлено, т. Е. Не использует гибкость,numeric
которую позволяет стандарт.Column '<referencedColumn>' is not the same data type as referencing column '<parentTable>.<parentColumn>' in foreign key '<yourKeyName>'
. Они оба должны быть ЧИСЛАМИ (x, y) или оба должны быть ДЕСЯТИЧНЫМ (x, y).decimal
это по крайней мере , так точно , как заявлено, в то время какnumeric
это точно так точен , как заявлено.Это то, что стандарт SQL2003 (§6.1 Типы данных) говорит о двух:
источник
Насколько мне известно, нет разницы между типами данных NUMERIC и DECIMAL. Они синонимичны друг другу, и можно использовать любой из них. Типы данных DECIMAL и NUMERIC - это числовые типы данных с фиксированной точностью и масштабом.
Редактировать:
В разговоре с несколькими коллегами, возможно, это как-то связано с тем, что DECIMAL является стандартом ANSI SQL, а NUMERIC - тем, что предпочитает Mircosoft, поскольку он чаще встречается в языках программирования. ...Может быть ;)
источник
Это синонимы, никакой разницы. Типы данных Decimal и Numeric - это числовые типы данных с фиксированной точностью и масштабом.
источник
Ответ Йоакима Бакмана конкретен, но он может внести в него дополнительную ясность.
Есть небольшая разница. Согласно SQL для чайников, 8-е издание (2013 г.):
Кажется, что разница в некоторых реализациях SQL заключается в целостности данных. DECIMAL допускает переполнение из того, что определено на основе некоторых системных значений по умолчанию, тогда как NUMERIC - нет.
источник
Они точно такие же. Когда вы его используете, будьте последовательны. Используйте один из них в своей базе данных
источник