Ответ 1
Числовое (5, 2) разрешает номера до 999.99 включительно. Если вы попытаетесь вставить 1000.0 в это, вы получите арифметическое переполнение.
Числовое (9,2) разрешает номера до 9 999 999,99 включительно
Имейте в виду, что если вы планируете когда-либо суммировать это значение, разрешите дополнительное пространство, иначе вы получите переполнение или вам нужно будет сделать явное приведение.
Они занимают одинаковое количество байтов. Поскольку они имеют одинаковый размер хранилища, они одинаковы на странице данных, в памяти, в индексах, при передаче по сети и т.д.
По этой причине я обычно определяю, какой номер числа мне нужно хранить (если используется числовое), а затем увеличивайте точность (и, возможно, масштаб), так что я чуть ниже точки, где размер хранилища увеличивается. Поэтому, если мне нужно сохранить до 99 миллионов с 4 десятичными знаками, это будет числовое (12,4). Для одного и того же хранилища я могу иметь числовое значение (19,6) и дать некоторое безопасное пространство, когда бизнес-пользователь объявит, что им действительно нужно хранить там пару миллиардов.