Различие между числовым, плаванием и десятичным числом в SQL Server

Хорошая идея - помнить об оптимизации при разработке кода.

Всякий раз, когда я говорю это, люди всегда отвечают: «преждевременная оптимизация - корень всего зла».

Но я не говорю оптимизировать, прежде чем отлаживать. Я даже не говорю, оптимизировать когда-либо, но когда вы разрабатываете код, помните о том, что это может стать узким местом, и запишите его так, чтобы можно было быстро его реорганизовать, не разрывая API.

Hugo

296
задан dakab 6 July 2016 в 00:41
поделиться

2 ответа

Decimal имеет фиксированную точность, а float - переменную.

EDIT (не удалось прочитать вопрос полностью): Float (53) (также известный как real) - это 32-битное число с плавающей запятой двойной точности в SQL Server. Regular Float - это число с плавающей запятой одинарной точности. Double - хорошее сочетание точности и простоты для множества вычислений. Вы можете создать число очень высокой точности с десятичной дробью - до 136 бит - но вы также должны быть осторожны, чтобы правильно определить свою точность и масштаб, чтобы оно могло содержать все ваши промежуточные вычисления до необходимого количества цифр.

7
ответ дан 23 November 2019 в 01:34
поделиться

Не полный ответ, но полезная ссылка:

«Я часто делаю вычисления с десятичными значениями. В некоторых случаях приведение десятичных значений в плавающее положение как можно скорее перед любыми вычислениями дает лучшую точность. . "

http://sqlblog.com/blogs/alexander_kuznetsov/archive/2008/12/20/for-better-precision-cast-decimals-before-calculations.aspx

13
ответ дан 23 November 2019 в 01:34
поделиться
Другие вопросы по тегам:

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