Как сохранить значение NUMERIC, указанное в SQL Server

В Oracle, когда у вас есть тип данных NUMBER и не указывайте точность и масштаб, например NUMBER(18,2), и используйте его как NUMBER, вместо этого он сохранит значение как указано.

Из руководства

Если точность не указана, в столбце хранятся значения как заданные

Теперь я хочу знать, есть ли способ позволить NUMERIC тип данных в SQL Server делает то же самое. Я должен использовать NUMERIC, а не DECIMAL или другие типы данных, и мне не разрешено указывать точность или масштаб, поскольку у меня нет возможности проверить, будут ли данные, которые будут использоваться, вызвать ошибки, потому что у меня нет доступа к данным. Я просто знаю, что данные не вызывали никаких проблем с нашей базой данных Oracle, которая использует только NUMBER тип данных без каких-либо спецификаций.

0
задан 13 August 2018 в 15:23

1 ответ

Нет, числовое значение требует точности и масштаба и имеет значения по умолчанию, если они не установлены. Простой.

https://docs.microsoft.com/en-us/sql/t-sql/data-types/decimal-and-numeric-transact-sql?view=sql-server -2017

Цитата:

decimal [(p [, s])] и numeric [(p [, s])] Исправлена ​​точность и масштабные числа. Когда используется максимальная точность, действительные значения составляют от -10 ^ 38 +1 до 10 ^ 38 - 1. Синонимы ISO для десятичных знаков - dec и dec (p, s). numeric функционально эквивалентен десятичной.

Как часто документация - ваш друг.

2
ответ дан 15 August 2018 в 17:00

Другие вопросы по тегам:

Похожие вопросы: