Типы данных float и real (Transact-SQL)
Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Управляемый экземпляр SQL Azure Конечная точка аналитики аналитики Synapse Analytics Analytics (PDW)SQL Analyticsв Microsoft FabricХранилище в Microsoft Fabric
Типы приблизительных числовых данных, используемые для числовых данных с плавающей запятой. Данные с плавающей запятой являются приблизительными, поэтому не все значения из диапазона могут быть отображены точно. Синонимом по стандарту ISO для типа real является float(24).
Соглашения о синтаксисе Transact-SQL
Синтаксис
float [ (n) ] Где n — это количество битов, используемых для хранения мантиссы числа в формате float при экспоненциальном представлении. Определяет точность данных и размер для хранения. Если указан параметр n, это должно быть значение в диапазоне от 1 до 53. Значение n по умолчанию — 53.
Значение n | Точность | Объем памяти |
---|---|---|
1-24 | 7 цифр | 4 байта |
25-53 | 15 знаков | 8 байт |
Примечание.
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).
Примечание.
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Замечания
Тип данных | Диапазон | Хранилище |
---|---|---|
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
При преобразовании в любой целочисленный тип данных значения типа 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).
См. также
Инструкция ALTER TABLE (Transact-SQL)
CAST и CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Преобразование типов данных (ядро СУБД)
Типы данных (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по