Есть ли способ изменить максимальную десятичную точность сервера SQL 2005? - PullRequest
1 голос
/ 14 января 2010

Справка говорит:

По умолчанию максимальная точность возвращает 38.

Примеры: ВЫБЕРИТЕ @@ MAX_PRECISION

Конечно, это так. Это должно означать, что вы можете как-то изменить это, верно? Но я не могу найти вариант для этого. Есть какой-то скрытый зашифрованный ключ реестра или что-то в этом роде?

Проблема состоит в том, что не все приложения поддерживают точность> 24 и обрабатывают такие значения как текст O_o. Но агрегатные функции всегда возвращают максимальную точность, если они не принуждаются к чему-либо еще.

Например, мне нужно только 15 цифр во всех запросах, которые возвращают десятичные дроби, и я не хочу вручную CAST каждый оператор SUM / MIN / MAX к десятичному (10, 5) ...

1 Ответ

1 голос
/ 14 января 2010

MAX_PRECISION просто отражает максимальный внутренний размер представления SQL-сервером чисел с плавающей запятой. Таким образом, вы не можете изменить это. Это как параметр, сообщающий, что у вас установлено 4 ГБ памяти. Нет реестра взломать, чтобы изменить эту сумму: -)

Однако вы можете указать меньше , чем это значение в типе столбца, или, как вы указали, вы можете преобразовать результаты.

...