Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Типы приблизительных числовых данных, используемые для числовых данных с плавающей запятой. Данные с плавающей запятой являются приблизительными, поэтому не все значения из диапазона могут быть отображены точно. Синонимом по стандарту ISO для типа real является float(24).
Соглашения о синтаксисе Transact-SQL
Syntax
float [ (n) ] Где n — это количество битов, используемых для хранения мантиссы числа в формате float при экспоненциальном представлении. Определяет точность данных и размер для хранения. Если указан параметр n, это должно быть значение в диапазоне от 1 до 53. Значение n по умолчанию — 53.
| n значения | Precision | Объем памяти |
|---|---|---|
| 1-24 | 7 цифр | 4 байта |
| 25-53 | 15 цифр. | 8 байт |
Note
SQL Server обрабатывает n как одно из двух возможных значений. Если 1<=n<=24, n принимает значение 24. Если 25<=n<=53, n принимает значение 53.
Тип данных SQL Server float[(n)] соответствует стандарту ISO для всех значений n от 1 до 53. Синонимом типа double precision является тип float(53).
Remarks
| Тип данных | Range | Storage |
|---|---|---|
| float | - 1,79E+308 — -2,23E-308, 0 и 2,23E-308 — 1,79E+308 | Зависит от значения n |
| real | - 3,40E + 38 — -1,18E - 38, 0 и 1,18E - 38 — 3,40E + 38 | 4 байта |
Типы данных с плавающей запятой и реальные называются приблизительными типами данных. Поведение float и real соответствует спецификации IEEE 754 на приблизительных числовых типах данных. Сведения о том, как компилятор Microsoft Visual C (MSVC) использует стандарт IEEE 754, см. в разделе IEEE Floating-Point Representation
Приблизительные числовые типы данных не хранят точные значения, указанные для многих чисел; они хранят близкое приближение значения. Для некоторых приложений крошечная разница между указанным значением и сохраненным приближением не имеет значения. Для других, однако, разница важна. Из-за приблизительного характера типов данных float и реальных типов данных не используйте эти типы данных, если требуется точное числовое поведение. Примеры, требующие точных числовых значений, являются финансовыми или бизнес-данными, операциями с округлением или проверками равенства. В этих случаях используйте целочисленное, десятичное, числовое значение, деньги или типы данных smallmoney.
Избегайте использования плавающих или реальных столбцов в условиях поиска предложения WHERE, особенно в условиях поиска = и <> операторов. Рекомендуется ограничить значения с плавающей запятой и реальными столбцами > или < сравнениями.
Преобразование данных типа float и real
Значения float усечены при преобразовании в любой целочисленный тип.
Если вы хотите преобразовать из float или real в символьные данные, использование строковых функций STR обычно более полезно, чем CAST(). Причина заключается в том, что STR() обеспечивает больше контроля над форматированием. Дополнительные сведения см. в статьях STR (Transact-SQL) и Функции (Transact-SQL).
До SQL Server 2016 (13.x) преобразование значений с плавающей запятой в десятичное или числовое ограничено только значениями точности 17 цифр. Любое значение типа float менее 5E-18 (в экспоненциальном представлении 5E-18 или десятичном представлении 0.000000000000000005) округляется до 0. Это больше не ограничение по состоянию на SQL Server 2016 (13.x).