Типы данных float и real (Transact-SQL)
Типы приблизительных числовых данных, используемые для числовых данных с плавающей запятой. Данные с плавающей запятой являются приблизительными, поэтому не все значения из диапазона могут быть отображены точно.
Примечание |
---|
Типу real соответствует в ISO тип float(24). |
Тип данных |
Диапазон |
Хранение |
---|---|---|
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 байта |
Синтаксические обозначения в 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).
Преобразование данных типа float и real
Значения типа float усекаются, если они преобразуются в любой целочисленный тип данных.
Если тип данных float или real нужно преобразовать в символьный тип, то, как правило, строковую функцию STR использовать удобнее, чем CAST( ). Это объясняется большими возможностями функции STR в отношении форматирования. Дополнительные сведения см. в разделах STR (Transact-SQL) и Встроенные функции (Transact-SQL).
Точность преобразования значений float, которые используют экспоненциальное представление, к decimal или numeric ограничена только 17 знаками. Любое значение с точностью, превышающей 17 знаков, округляется до нуля.
См. также
Справочник
Функции CAST и CONVERT (Transact-SQL)
Инструкция CREATE TABLE (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
SET @local\_variable (Transact-SQL)