Поиск…
DECIMAL и NUMERIC
Фиксированная точность и масштабирование десятичных чисел. DECIMAL
и NUMERIC
функционально эквивалентны.
Синтаксис:
DECIMAL ( precision [ , scale] )
NUMERIC ( precision [ , scale] )
Примеры:
SELECT CAST(123 AS DECIMAL(5,2)) --returns 123.00
SELECT CAST(12345.12 AS NUMERIC(10,5)) --returns 12345.12000
FLOAT и REAL
Типы данных приблизительного числа для использования с числовыми данными с плавающей запятой.
SELECT CAST( PI() AS FLOAT) --returns 3.14159265358979
SELECT CAST( PI() AS REAL) --returns 3.141593
Целые
Типы данных точного числа, которые используют целочисленные данные.
Тип данных | Спектр | Место хранения |
---|---|---|
BIGINT | -2 ^ 63 (-9,223,372,036,854,775,808) до 2 ^ 63-1 (9,223,372,036,854,775,807) | 8 байт |
ИНТ | -2 ^ 31 (-2,147,483,648) до 2 ^ 31-1 (2,147,483,647) | 4 байта |
SMALLINT | -2 ^ 15 (-32,768) до 2 ^ 15-1 (32,767) | 2 байта |
TINYINT | От 0 до 255 | 1 байт |
ДЕНЬГИ И МАЛОМОННИ
Типы данных, которые представляют собой денежные или валютные значения.
Тип данных | Спектр | Место хранения |
---|---|---|
Деньги | -922,337,203,685,477,5808 до 922,337,203,685,477.5807 | 8 байт |
smallmoney | -214,748.3648 до 214,748.3647 | 4 байта |
БИНАРЫ И ВАРИАНТЫ
Бинарные типы данных как фиксированной длины, так и переменной длины.
Синтаксис:
BINARY [ ( n_bytes ) ]
VARBINARY [ ( n_bytes | max ) ]
n_bytes
может быть любым числом от 1 до 8000 байт. max
указывает, что максимальное пространство для хранения составляет 2 ^ 31-1.
Примеры:
SELECT CAST(12345 AS BINARY(10)) -- 0x00000000000000003039
SELECT CAST(12345 AS VARBINARY(10)) -- 0x00003039
CHAR и VARCHAR
Строковые типы данных как фиксированной длины, так и переменной длины.
Синтаксис:
CHAR [ ( n_chars ) ]
VARCHAR [ ( n_chars ) ]
Примеры:
SELECT CAST('ABC' AS CHAR(10)) -- 'ABC ' (padded with spaces on the right)
SELECT CAST('ABC' AS VARCHAR(10)) -- 'ABC' (no padding due to variable character)
SELECT CAST('ABCDEFGHIJKLMNOPQRSTUVWXYZ' AS CHAR(10)) -- 'ABCDEFGHIJ' (truncated to 10 characters)
NCHAR и NVARCHAR
Строковые типы данных UNICODE фиксированной длины или переменной длины.
Синтаксис:
NCHAR [ ( n_chars ) ]
NVARCHAR [ ( n_chars | MAX ) ]
Используйте MAX
для очень длинных строк, которые могут превышать 8000 символов.
УНИКАЛЬНЫЙ ИДЕНТИФИКАТОР
16-байтовый GUID / UUID.
DECLARE @GUID UNIQUEIDENTIFIER = NEWID();
SELECT @GUID -- 'E28B3BD9-9174-41A9-8508-899A78A33540'
DECLARE @bad_GUID_string VARCHAR(100) = 'E28B3BD9-9174-41A9-8508-899A78A33540_foobarbaz'
SELECT
@bad_GUID_string, -- 'E28B3BD9-9174-41A9-8508-899A78A33540_foobarbaz'
CONVERT(UNIQUEIDENTIFIER, @bad_GUID_string) -- 'E28B3BD9-9174-41A9-8508-899A78A33540'