Первое число - точность, второе число - шкала. Эквивалент в SQL Server может быть как десятичный / числовой, и вы можете определить его так:
DECLARE @MyDec decimal(18,2)
18 - это максимальное общее количество десятичных цифр, которое может быть сохранено (то есть общее количество цифр, например, 123.45, точность здесь равна 5, а масштаб равен 2) . 2 - это шкала, и она определяет максимальное количество цифр, хранящихся справа от десятичной точки.
См. эту статью
Просто помните, чем больше точность, тем больше размер в байтах памяти. Так что держите его как можно меньше.
p (точность)
Указывает максимальное общее количество
десятичные цифры, которые могут быть сохранены,
как слева, так и справа от
десятичная точка. Точность должна
быть значением от 1 до максимума
точность. Максимальная точность
38. Точность по умолчанию - 18.
с (масштаб)
Определяет максимальное количество
десятичные цифры, которые могут быть сохранены в
право десятичной запятой. Масштаб
должно быть значение от 0 до p.
Масштаб можно указать, только если
точность указана. По умолчанию
шкала 0; следовательно, 0 <= s <= p.
Максимальные размеры хранилища варьируются в зависимости от
точность. </p>
Наконец, стоит упомянуть, что в oracle вы можете определить масштаб, превышающий точность, например, Number (3, 10) действует в oracle. SQL Server, с другой стороны, требует, чтобы точность> = scale. Таким образом, если вы определили Number (3,10) в oracle, он будет отображаться в sql как Number (10,10).