Ms sql server типы данных: int, bigint, smallint и tinyint (Transact-SQL) — SQL Server
Содержание
Основы языка Transact-SQL. Основные элементы Transact-SQL. Типы данных MS SQL Server. Выражения Transact-SQL, страница 3
Информатика и выч. техника \
Базы данных
Типы данных char в ANSI, nchar в Unicode имеют фиксированный размер — всегда требуется один и тот же объем памяти при любом количестве символов, хранящихся в столбце. Например, одно значение столбца с типом char(10) занимает 10 байт памяти независимо от того, хранится ли в нем 1 символ или 10. Неиспользуемое пространство дополняется пробелами до максимально возможного количества символов в столбце.
42
В то же время, для хранения каждого символа в столбце требуется: при типе данных varchar(10) — 1 байт, при типе данных nvarchar(n) — 2 байта; при этом требуемый объем памяти зависит от заполнения столбца (т.е., столбец имеет переменный размер, и не происходит хранение «пустого места» — пробелов).
43
Типы данных text и ntext служат для хранения больших массивов символьных данных. Для столбцов с такими типами данных запрещены многие операции и функции.
Из-за этих ограничений, начиная с версии СУБД SQL Server 2005, появились типы данных varchar(max) и nvarchar(max), которые объединяют возможности типов text/ntext, varchar/nvarchar, могут хранить до 2 Гб данных и не имеют ограничений по использованию с различными операциями и функциями.
44
3.6. Двоичные типы данных
45
Типы данных binary служат в основном для хранения файлов в SQL Server. Для хранения небольших файлов (например, групп файлов размером несколько Кб, содержащих различные данные в двоичном формате) используют типы данных binary/varbinary.
46
Часто используется тип данных image — служит для хранения как изображений, так и документов Word, Excel, PDF, Visio. Этот тип данных подходит для хранения любых файлов размером не более 2 Гб.
Тип данных varbinary(max), впервые появившийся в SQL Server 2005, позволяет хранить такой же объем данных, как и image, и может применяться во всех операциях и функциях, где допустимы типы данных binary/varbinary.
3.7. Специальные типы данных
48
49
50
Тип данных sql_variant позволяет объявлять столбец или переменную без явного указания типа данных, которые будут в нем храниться. Затем sql_variant автоматически «преобразуется» к типу данных, добавляемых в столбец. В результате возможно появление различных проблем, связанных с несоответствием типов данных. Поэтому без явной необходимости применять тип данных sql_variant не рекомендуется.
51
- Таким образом, в версии языка Transact-SQL для SQL Server 2005 (и выше) имеется
- 6 категорий стандартных типов данных, используемых для определения столбцов в таблицах:
- точные числовые типы данных — хранят точные целочисленные или десятичные значения;
- приближенные числовые типы данных — хранят приближенные числа с плавающей точкой;
52
- денежные типы данных — хранят денежные значения с точностью 4 знака после запятой;
- типы данных «Дата и время» — хранят значения даты и времени;
- символьные типы данных — хранят текстовые значения;
- двоичные типы данных — хранят двоичные потоки, обычно это файлы.
Кроме приведенных системных типов данных таблиц, можно определять на их основе свои пользовательские типы данных для конкретной БД. В SQL Server 2008 появилось также несколько новых специализированных типов данных (рассмотрим далее).
54
3.8. Свойство IDENTITY
Кроме типов данных, для столбцов могут задаваться различные свойства. В частности, для одного столбца таблицы может быть задано свойство IDENTITY, которое определяет создание в столбце автоматически возрастающего значения. Это свойство имеет 2 параметра: исходное значение и инкремент, определяющий, насколько увеличивается исходное значение при генерировании каждого последующего значения.
55
Это свойство – аналог значений autonumber
(в Access – тип данных Счетчик) и autoincrement в других языках.
Свойство IDENTITY применимо к точным числовым типам: bigint, int, smallint, tinyint, decimal, numeric. Для использования с типами данных decimal, numeric необходимо приравнять в них число разрядов после запятой к нулю.
3.9. Общие рекомендации по выбору типа данных для столбца таблицы
Скачать файл
Курс Создание запросов в Microsoft SQL Server 2014 \ Querying Microsoft SQL Server в Екатеринбурге
Код: 20461
Данный курс будет отменен компанией Microsoft с 31 декабря 2021 года.
Курс предоставляет слушателям знания и навыки, необходимые для написания базовых запросов на языке T-SQLдля Microsoft SQL Server 2014, и готовит к экзамену Microsoft 461
Стоимость курса
31 935 руб
Заказать
Вы научитесь:
Предоставить слушателям знания и навыки, необходимые для написания базовых запросов на Transact-SQL для Microsoft SQL Server 2014. Курс предоставляет необходимый минимум знаний для понимания работы Microsoft SQL Server и является базовым курсом для направления Администратор Баз Данных.
Приобретаемые навыки:
- Писать SELECT запросы
- Выполнять запросы из нескольких таблиц
- Сортировать и фильтровать данные
- Описать типы данных в SQL Server
- Изменять данные с помощью Transact-SQL
- Использовать встроенные функции
- Группировать и агрегировать данные
- Использовать подзапросы
- Использовать табличные выражения
- Использовать оператор SET
- Использовать функции ранжирования, смещения, а также функции агрегирования
- Выполнять перекрестные запросы и группировать данные
- Выполнять хранимые процедуры
- Программировать на T-SQL
- Реализовывать управление ошибками
- Реализовывать транзакции
Аудитория:
Этот курс предназначен для администраторов БД, разработчиков БД и клиентских приложений и специалистов в бизнес-аналитике (BI). Курс будет интересен для пользователей, желающих понимать работу БД или осмысленно формировать отчеты, и слушателей, планирующих сдать экзамен.
Требования к предварительной подготовке слушателя:
- Знание и практический опыт администрирования клиентов и серверов семейства Windows;
- Опыт установки и настройки Windows Server отдельно или в среде организации;
- Знания и опыт настройки сетевых адаптеров, администрирования пользователей Active Directory и базовых настроек дисков;
- Знания и опыт работы с Windows Server 2012 и Windows 8 (желательно)
- Знание технического английского языка
Готовит к тесту:
Microsoft 461
Содержание курса
Глава 1. Введение в Microsoft SQL Server 2014
Темы
- Базовая архитектура SQL Server
- Редакции и версии SQL Server
- Начало работы с SQL Server Management Studio
Лабораторная работа: Работа с инструментами SQL Server 2014
- Работа с SQL Server Management Studio
- Написание T-SQL сценариев
- Использование Books Online
Глава 2. Введение в язык запросов T-SQL
Темы
- Введение в T-SQL
- Понятие набора данных
- Понятие логики предиката
- Понятие логики последовательности операторов в SELECT выражениях
Лабораторная работа: Введение в язык запросов T-SQL
- Выполнение базовых SELECT выражений
- Выполнение запросов с фильтрацией данных, используя предикаты
- Выполнение запросов с сортировкой данных, используя ORDER BY
Глава 3. Написание SELECT запросов
Темы
- Написание простых SELECT выражений
- Удаление дубликатов с использованием DISTINCT
- Использование табличных и колоночных псевдонимов
- Написание простых CASE выражений
Лабораторная работа: Написание базовых SELECT запросов
- Написание простых SELECT выражений
- Удаление дубликатов с использованием DISTINCT
- Использование табличных и колоночных псевдонимов
- Написание простых CASE выражений
Глава 4. Запрос данных из нескольких таблиц
Темы
- Понятие объединений
- Написание запросов с использованием внутреннего объединения INNER JOIN
- Написание запросов с использованием внешнего объединения OUTER JOIN
- Написание запросов с использованием перекрестного объединения CROSS JOIN, объединения таблицы с собой (SELF JOIN)
Лабораторная работа: Запрос данных из нескольких таблиц
- Написание запросов с использованием INNER JOIN
- Написание запросов с использованием многотабличных объединений
- Написание запросов с использованием объединения таблицы сама с собой
- Написание запросов с использованием OUTER JOIN
- Написание запросов с использованием перекрестного объединения CROSS JOIN
Глава 5. Сортировка и фильтрация данных
Темы
- Сортировка данных
- Фильтрация данных
- Фильтрация с использованием опций TOP и OFFSET-FETCH
- Работа с неизвестными и потерянными значениями
Лабораторная работа: Работа с подзапросами
- Написание запросов с фильтрацией данных с использованием предложения WHERE
- Написание запросов с сортировкой данных с использованием предложения ORDER BY
- Написание запросов с фильтрацией данных с использованием предложения TOP
- Написание запросов с фильтрацией данных с использованием предложения OFFSET-FETCH
Глава 6. Работа с типами данных SQL Server 2014
Темы
- Введение в типы данных SQL Server 2014
- Работа с текстовыми типами данных
- Работа с типами данных Дата и Время
Лабораторная работа: Работа с типами данных SQL Server 2014
- Написание запросов, возвращающих типы данных Дата, Время
- Написание запросов, использующих функции Дата и Время
- Написание запросов, возвращающие текстовые данные
- Написание запросов, использующих текстовые функции
Глава 7. Использование DML для изменения данных
Темы
- Добавление данных
- Изменение и удаление данных
Лабораторная работа: Использование DML для изменения данных
- Добавление данных
- Обновление и удаление данных
Глава 8. Использование встроенных функций
Темы
- Написание запросов, использующих встроенные функции
- Использование функций преобразования
- Использование логических функций
- Использование функций на проверку NULL
Лабораторная работа: Использование встроенных функций
- Написание запросов с функциями преобразования
- Написание запросов с логическими функциями
- Написание запросов с функцией на проверку NULL
Глава 9. Группировка и агрегирование данных
Темы
- Использование функций агрегирования
- Использование предложения GROUP BY
- Фильтрация сгруппированных данных с использованием предложения HAVING
Лабораторная работа: Группировка и агрегирование данных
- Написание запросов с использованием предложения GROUP BY
- Написание запросов с использованием функций агрегирования
- Написание запросов с использованием отдельных статистических функций
- Написание запросов, фильтрующих сгруппированные данные с использованием предложения HAVING
Глава 10. Использование подзапросов
Темы
- Написание автономных вложенных подзапросов
- Написание корреляционных подзапросов
- Использование предиката EXISTS в подзапросах
Лабораторная работа: Использование подзапросов
- Написание автономных вложенных подзапросов
- Написание запросов с использованием скалярных и табличных подзапросов
- Использование предикатов IN и EXISTS в подзапросах
Глава 11. Использование табличных выражений
Темы
- Использование производных таблиц
- Использование общих табличных выражений
- Использование представлений
- Использование встроенных табличных выражений
Лабораторная работа: Использование табличных выражений
- Написания запросов, использующих представления
- Написания запросов, использующих производные таблицы
- Написания запросов, использующих общие табличные выражения
- Написания запросов, использующих встроенные табличные выражения
Глава 12. Использование операторов наборов строк
Темы
- Написание запросов, использующих оператор UNION
- Написание запросов, использующих операторы EXCEPT и INTERSECT
- Написание запросов, использующих оператор APPLY
Лабораторная работа: Использование операторов наборов строк
- Написание запросов, использующих операторы UNION и UNION ALL
- Написание запросов, использующих операторы CROSS APPLY и OUTER APPLY
- Написание запросов, использующих операторы EXCEPT и INTERSECTS
Глава 13. Использование функций ранжирования, смещения и статистических функций
Темы
- Создание окон с помощью предложения OVER
- Обзор функций окна
Лабораторная работа: Использование функций ранжирования, смещения и статистических функций
- Написание запросов с использованием функций ранжирования
- Написание запросов с использованием функций смещения
- Написание запросов с использованием функций агрегирования
Глава 14. Создание сводных результирующих наборов и группировка
Темы
- Написание запросов с использованием операторов PIVOT и UNPIVOT
- Группировка данных
Лабораторная работа: Создание сводных результирующих наборов и группировка
- Написание запросов с использованием оператора PIVOT
- Написание запросов с использованием оператора UNPIVOT
- Написание запросов с использованием предложения GROUPING SETS
Глава 15. Запуск хранимых процедур
Темы
- Запрос данных хранимой процедурой
- Передача параметров хранимым процедурам
- Создание простой хранимой процедуры
- Работа с динамическим SQL
Лабораторная работа: Запуск хранимых процедур
- Использование оператора EXECUTE для запуска хранимых процедур
- Передача параметров хранимым процедурам
- Запуск системных хранимых процедур
Глава 16. Программирование с использованием возможностей T-SQL
Темы
- Элементы программирования T-SQL
- Управление программными потоками
Лабораторная работа: Программирование с использованием возможностей T-SQL
- Объявление переменных и снятие ограничений с пакетов
- Использование элементов управления потоком выполнения
- Использование динамического SQL
- Использование синонимов
Глава 17. Реализация управления ошибками
Темы
- Перенаправление ошибок с использованием блоков TRY/CATCH
- Обработка информации об ошибке
Лабораторная работа: Реализация управления ошибками
- Перенаправление ошибок с использованием TRY/CATCH
- Использование THROW для передачи сообщений об ошибках обратно клиенту
Глава 18. Реализация транзакций
Темы
- Транзакции и ядро БД
- Управление транзакциями
- Уровень изоляции
Лабораторная работа: Реализация транзакций
- Определение транзакций с использованием блоков BEGIN, COMMIT и ROLLBACK
- Добавление логики обработки ошибок в блок CATCH
Другие курсы данной тематики
- Разработка и эксплуатация хранилищ данных на SQL Server 2016
- Oracle Database 12c: Backup and Recovery Workshop
- Администрирование баз данных Microsoft SQL Server 2014 \ Administering Microsoft SQL Server Databases
- Oracle Database 12c: Администрирование
- Разработка баз данных на Microsoft SQL Server 2014
- Oracle Database 12c R2: SQL Workshop II
- Oracle Database 12c R2: New Features for Administrators Part 2
- Oracle Enterprise Manager Cloud Control 12c: Install & Upgrade
- Oracle Database 12c R2: Clusterware Administration
- Разработка PL/SQL программных единиц
Microsoft SQL Server и типы данных преобразования
В следующей таблице сравниваются типы данных Microsoft SQL Server и типы данных преобразования:
Microsoft SQL Server 900 03 | Диапазон | Трансформация | Диапазон | ||
---|---|---|---|---|---|
Двоичный | от 1 до 8000 байт | Двоичный | От 1 до 104 857 600 байт | ||
bigint | — 9,22 от 3 372 036 854 775 808 до 9 223 372 036 854 775 807 | bigint | -9 223 372 036 854 775,80 от 8 до 9 223 372 036 854 775 807 Точность 19, шкала 0 | ||
Бит | 1 бит | Строка 9003 6 | 1 до 104 857 600 символов | ||
Символ | От 1 до 8000 символов | Строка | 1 до 104 857 600 символов | ||
Дата | С 1 января 0001 г. | Дата/время | С 1 января 0001 г. по 31 декабря 9999 г. н.э. | ||
3 | с 1 января 1753 г. по 31 декабря 9999 н.э. Точность 23, шкала 3 (точность до 3,33 мс) | Дата/время | 1 января 0001 г. н.э. по 3 декабря 1, 9999 г. н.э. (с точностью до наносекунды) | ||
Datetime2 | 1 января 0001 г. н.э. 00:00:00 31 декабря 9999 г. н.э. 23:59:59.9999999 | Отметка времени | Точность от 22 до 27 | ||
Десятичный | Точность от 1 до 38, шкала от 0 до 38 | Десятичный | Для преобразований, поддерживающих точность до 38 цифр, точность составляет от 1 до 3 8 цифр, шкала от 0 до 38. Если указать точность, превышающую максимальное количество цифр, служба интеграции данных преобразует десятичные значения в двойные в режиме высокой точности. | ||
Плавающая | -1,79от E+308 до 1.79E+308 | Double | Precision 15 | ||
Image | Двоичный | от 1 до 104 857 600 байт | |||
Целое число | от -2 147 483 648 до 2 147 483 647 | Целое число | 900 02 -2 147 483 648 до 2 147 483 647 Точность 10, шкала 0 | ||
Деньги | -922 337 203 685 477,5807 до 922 337 203 685 477,580 7 | Десятичный | Точность от 1 до 28, шкала от 0 до 28 | ||
nchar | Строка | От 1 до 104 857 600 символов | |||
ntext | Текст | От 1 до 104 857 600 символов | |||
Числовой | 9 0002 Точность от 1 до 38, масштаб от 0 до 38 | Десятичный | Для преобразований, поддерживающих точность до 38 цифр, точность составляет от 1 до 38 цифр, а шкала — от 0 до 38. Для преобразований, поддерживающих точность до 28 цифр, точность составляет от 1 до 28 цифр, а шкала — от 0 до 28. Если указать точность, превышающую максимальное количество цифр, служба интеграции данных преобразует десятичные значения в двойные в режиме высокой точности. | ||
nvarchar | От 1 до 4000 символов | Строка | 9000 2 1 до 104 857 600 символов | ||
Действительное число | -3,40E+38 до 3,40E+38 | Двойной | Точность 15 | ||
Smalldatetime | С 1 января 1900 г. по 6 июня 2079 г. Точность 19, шкала 0 9 0003 (с точностью до минуты) | Дата/время | 1 января 0001 г. н.э. по 31 декабря 9999 г. н.э. (с точностью до наносекунды) 003 | Целое число | от -2 147 483 648 до 2 147 483 647 Точность 10, шкала 0 |
Smallmoney | -214 748,3648 до 214 748,3647 | Десятичный | Точность от 1 до 28, шкала от 0 до 28 | ||
Имя системы | От 1 до 128 символов | Строка | От 1 до 104 857 600 символов | ||
Текст 9000 3 | от 1 до 2 147 483 647 символов | Текст | От 1 до 104 857 600 символов | ||
Метка времени | 8 байт | Двоичный | от 1 до 104 857 600 байт | ||
Tinyint 9 0036 | От 0 до 255 | Целое число | -2 147 483 648 до 2 147 483 647 Точность 10, масштаб 0 | ||
Uniqueidentifier | Точность 38, масштаб 0 | Строка | Чтобы успешно переместить или изменить данные Uniqueidentifier, убедитесь, что данные имеют следующий формат: 9000 2 ххххххх-хххх-хххх-хххх-ххххххххххх где x — шестнадцатеричная цифра в диапазоне от 0 до 9 или от a до f. | ||
Varbinary | от 1 до 8000 байт | Двоичный | от 1 до 104 857 600 байт | ||
Varchar | от 1 до 8, 000 символов | Строка | от 1 до 104 857 600 символов |
Типы данных SQL Server — Decimal, Numeric, Bit, Money, Date, Int
Автор: Joe Gavin |
Обновлено: 25 сентября 2020 г. |
Комментарии (2) | Связанный: Еще > Типы данных
Проблема
SQL Server имеет много разных типов данных, и это не всегда задано, поскольку
какой тип данных использовать, поэтому эта схема дает вам краткий обзор
различные типы данных, которые вы можете использовать в SQL Server.
Решение
Ниже приведены часто используемые типы данных, организованные по категориям с кратким описанием.
диапазон значений, размер хранилища и пример.
Точные числа Типы данных SQL Server
Целочисленный Тип данных
- Int используется для хранения целого числа и является основным целочисленным типом данных.
- Ассортимент
значения: от -2 147 483 648 до 2 147 483 647 - Хранение
размер: 4 байта
-- объявить переменную типа int, присвоить ей значение и увеличить ее ОБЪЯВИТЬ @MyInt int = 0 УСТАНОВИТЬ @MyInt += 1 ВЫБЕРИТЕ @MyInt КАК [MyInt]
Тип данных BigInt
- Bigint используется для хранения целого числа, выходящего за пределы диапазона int
- Диапазон
значений:
-9 223 372 036 854 775 808
до 9 223 372 036 854 775 807 - Размер хранилища: 8 байт
-- сделать переменную bigint ОБЪЯВИТЬ @MyBigInt bigint = 2147483648 ВЫБЕРИТЕ @MyBigInt КАК [MyBigInt]
Тип данных Smallint
- Смоллинт
занимает меньше места, чем INT, и может использоваться, когда гарантировано целое число
быть между
-32 768 до
32 767 90 575 - Диапазон значений: от -32 768 до 32 767 90 575
- Размер хранилища: 2 байта
-- небольшой пример ОБЪЯВИТЬ @MySmallInt smallint = 32000 ВЫБЕРИТЕ @MySmallInt КАК [MySmallInt]
Тип данных Tinyint
- Tinyint можно использовать, когда гарантированно целое число находится в диапазоне от 0 до
255, т.е. количество лет ипотеки
- Диапазон значений: от 0 до 255
- Размер хранилища: 1 байт
-- крошечный пример длины ипотечного кредита в годах ОБЪЯВИТЬ @MortgageLength tinyint = 30 ВЫБЕРИТЕ @MortgageLength AS [MortgageLength]
Тип битовых данных
- Бит может использоваться для представления логического значения, такого как переключатель.
включено или выключено, процесс выполнен или нет и т. д. - Диапазон значений: 0 или 1 или NULL
- Размер хранилища = 1 байт на каждый 8-битный столбец в таблице
-- Пример BIT в качестве значения включения/выключения выключателя света ОБЪЯВИТЬ бит @LightSwitch = 0 ЕСЛИ @LightSwitch = 1 PRINT 'LightSwitch включен' ELSE PRINT 'LightSwitch выключен' SET @LightSwitch = 1 -- включить ЕСЛИ @LightSwitch = 1 PRINT 'LightSwitch включен' ELSE PRINT 'LightSwitch выключен'
Десятичный тип данных
938
- Размер хранилища:
- Точность 1–9 5 байт
- Точность 10-19 9 байт
- Точность 20-28 13 байт
- Точность 29–38 17 байт
- Функционально такой же, как числовой
/* десятичный (п, с) p = точность = максимальное общее количество сохраняемых цифр, включая обе стороны десятичной точки — должно быть от 1 до 38 — по умолчанию = 18 s = масштаб = количество цифр справа от десятичной точки — по умолчанию = 0 */ DECLARE @MyDecimal decimal(8,4) = 123.1 -- Всего 8 цифр, 4 справа от десятичной дроби ВЫБЕРИТЕ @MyDecimal КАК MyDecimal 938
- Точность 1-9 5 байт
- Точность 10–19 9 байт
- Точность 20–28 13 байт
- Точность 29–38 17 байт
/* числовой (p,s) p = точность = максимальное общее количество сохраняемых цифр, включая обе стороны десятичной точки — должно быть от 1 до 38 — по умолчанию = 18 s = масштаб = количество цифр справа от десятичной точки — по умолчанию = 0 */ DECLARE @MyNumeric numeric(8,4) = 123.1 -- всего 8 цифр с 4 справа от десятичной точки ВЫБЕРИТЕ @MyNumeric КАК MyNumeric
Деньги Тип данных
- Деньги представляют собой денежную стоимость
- Диапазон значений: от -922 337 203 685 477,5808 до 922 337 203 685 477,5807
- Размер хранилища: 8 байт
/* числовой (p,s) p = точность = максимальное общее количество сохраняемых цифр, включая обе стороны десятичной точки — должно быть от 1 до 38 — по умолчанию = 18 s = масштаб = количество цифр справа от десятичной точки — по умолчанию = 0 */ --declare переменная и установите значение $1,99 ЗАЯВИТЬ @MyMoney деньги = 1,99 ВЫБЕРИТЕ @MyMoney КАК MyMoney
Тип данных Smallmoney
- Smallmoney представляет денежную стоимость
- Диапазон значений: от -214 748,3648 до 214 748,3647
- Размер хранилища: 4 байта
--объявите переменную и установите значение $1,99 ЗАЯВИТЕ @MySmallMoney smallmoney = 1,99 ВЫБЕРИТЕ @MySmallMoney КАК MySmallMoney
Приблизительные числовые значения Типы данных SQL Server
Плавающая, тип данных
- Плавающая — это приблизительный числовой тип данных, используемый для хранения числа с плавающей запятой.
номер - float (n) — n — количество бит, которое используется для хранения мантиссы
в экспоненциальном представлении - Диапазон значений: - 1,79E+308 до -2,23E-308, 0 и 2,23E-308 до 1,79E+308
- Размер хранилища: 4 байта, если n = 1–9, и 8 байт, если n = 25–53 — по умолчанию
= 53
-- поплавок DECLARE @MyFLoat float = 0,1111111111111111111111111111111111111 -- вывод с точностью до 15 цифр ВЫБЕРИТЕ @MyFLoat КАК MyFloat
Реальный тип данных
- Real — тип данных с приблизительным числом, эквивалентный веществу с плавающей запятой (24), используемому для
сохранить число с плавающей запятой - Диапазон значений: - 3,40E + 38 до -1,18E - 38, 0 и 1,18E - 38 до 3,40E
+ 38 - Размер хранилища: 4 байта
-- реальный DECLARE @MyReal real = 0,1111111111111111111111111111111111111 -- вывод с 7-значной точностью ВЫБЕРИТЕ @MyReal КАК MyReal
Дата и время Типы данных SQL Server
Дата Тип данных
- Определяет дату в формате гггг-мм-дд
- Диапазон значений: с 0001-01-01 по 9999-12-31
- Размер хранилища: 3 байта
-- объявить переменную и установить ее на 1 января 2020 г.ОБЪЯВИТЬ дату @MyDate = '2020-01-01' ВЫБЕРИТЕ @MyDate
Тип данных времени
- Определяет
время - Диапазон
значений: с 00:00:00,0000000 до 23:59:59,9999999 - Хранение
размер: 5 байт
-- объявить переменную времени и установить текущее время ОБЪЯВИТЬ @MyTime time = GETDATE() ВЫБЕРИТЕ @MyTime КАК MyTime
Дата-время Тип данных
- Определить
дата и время - Диапазон
значений: 0001-01-01 по 9999-12-31 - 00:00:00.0000000 по 23:59:59.9999999 - Хранение
размер: 8 байт
-- объявить переменную datetime и установить текущее время ОБЪЯВИТЬ @MyDateTime datetime = GETDATE() ВЫБЕРИТЕ @MyDateTime КАК MyDatetime
Datetime2 Тип данных
- Определить
дата и время с более высокой точностью, чем datetime - ЗАЯВИТЬ
@VarName(n), где n — значение от 1 до 7, определяющее точность по умолчанию
7 - Диапазон
значений: с 1753-01-01 по 9999-12-31 - 00:00:00.0000000 по 23:59:59.9999999
- Хранение
размер:- точность < 3 6 байт
- точность
= 3 или 4 7 байт 90 575 - точность >
4 8 байт
-- объявить переменную datetime2 и установить текущее время ОБЪЯВИТЬ @MyDatetime2 datetime2(7) = ПОЛУЧИТЬДАТУ() ВЫБЕРИТЕ @MyDatetime2 КАК MyDatetime2
Тип данных Smalldatetime
- Определить
дата и время без долей секунды - Диапазон значений:
с 01.01.1900 по 06.06.2079 - с 00:00:00 до 23:59:59 - Размер хранилища:
4 байта
-- объявить переменную smalltime и установить текущее время ОБЪЯВИТЬ @MySmalldatetime smalldatetime = GETDATE() ВЫБЕРИТЕ @MySmalldatetime КАК MySmalldatetime
Datetimeoffset Тип данных
- Определяет дату и время с учетом часового пояса
- DECLARE @VarName datetimeoffset(n)
где
n — значение от 1 до 7, определяющее точность, по умолчанию 7 - Диапазон значений: с 0001-01-01 по 9999-12-31 - с 00:00:00 до 23:59:59.
9999999
- от -14:00 до +14:00 - Размер хранилища: 10 байт
-- сравнить время в 2 часовых поясах DECLARE @Edt datetimeoffset = CAST('2020-01-01 08:00:00.000 -00:00' AS datetimeoffset) DECLARE @Pdt datetimeoffset = CAST('2020-01-01 05:00:00.000 -03:00' AS datetimeoffset) ВЫБЕРИТЕ DATEDIFF (минуты, @Edt, @Pdt) как MinutesDifference
Строки символов Типы данных SQL Server
Символ Тип данных
- Чар исправлен
строка размера, используемая для хранения символов - Символ(n | макс) –
где n — фиксированная длина строки в парах байтов от 1 до 8000.
и макс 8000 - Размер хранилища:
п
-- символ DECLARE @MyChar char(20) = 'abcdefgh' -- используется 20 байтов ВЫБЕРИТЕ @MyChar КАК MyChar
Тип данных Varchar
- Varchar — это строка переменного размера, используемая для хранения символов
- Варчар (сущ.
| max) – где n – фиксированная длина строки в парах байтов из
От 1 до 8 000, максимальное значение – 8 000 - Размер хранилища:
до n или макс.
-- символ DECLARE @MyChar char(20) = 'abcdefgh' -- используется 20 байтов ВЫБЕРИТЕ @MyChar КАК MyChar
Текстовый тип данных
- Тест представляет собой строку переменной длины до 2 147 483 647 байт
- Недействительно для локальной переменной
- Размер хранилища: до 2 147 483 647 байт
-- создать таблицу с 1 полем текстового типа СОЗДАТЬ ТАБЛИЦУ dbo.MyTable(текст MyText NULL) --вставить значение ВСТАВЬТЕ ЗНАЧЕНИЯ dbo.MyTable('abcdefgh') ВЫБРАТЬ Мой текст ИЗ dbo.MyTable
Строки символов Unicode Типы данных SQL Server
Nchar Тип данных
- Nchar исправлен
строка размера - Используйте для хранения
строка символов фиксированной длины - Нчар(н |
max) – где n – фиксированная длина строки в парах байтов от 1
до 4000 и максимально 4000 - Размер хранилища:
n или макс.
-- нчар DECLARE @MyNchar char(10) = 'abcdefgh' -- использовано 20 байт ВЫБЕРИТЕ @MyNchar КАК MyNchar
Nvarchar Тип данных
- Nvarchar — это строка переменного размера
- Может хранить текст на нескольких языках
- Нварчар (н
| max) – где n – фиксированная длина строки в парах байтов из
От 1 до 4 000, максимальное значение – 4 000 - Размер хранилища:
до n или макс.
-- нварчар DECLARE @MyNvarchar char(10) = 'abcdefgh' -- используется 8 байтов ВЫБЕРИТЕ @MyNvarchar КАК MyNvarchar
Двоичные строки Типы данных SQL Server
Тип двоичных данных
- Двоичный — это тип данных фиксированной длины
- Может использоваться для хранения любых двоичных данных фиксированной длины, таких как файлы,
и т.д. - Двоичный(n) – где n от 1 до 8000
- Размер хранилища: n
-- двоичный ОБЪЯВИТЬ @MyBinary двоичный (2) = 100 SELECT CAST(@MyBinary AS int) AS MyBinary
Тип данных Varbinary
- Varbinary — это тип данных переменной длины, который можно использовать для хранения любых
двоичные данные различной длины, такие как файлы и т. д. - Varbinary(n | max) — где n от 1 до 8000, а max равно 8000
- Размер хранилища: n
-- варбинарный ОБЪЯВИТЬ @MyVarbinary varbinary(2) = 100 SELECT CAST(@MyVarbinary AS int) AS MyVarbinary
Следующие шаги
Ниже приведены некоторые ссылки с дополнительной информацией о типах данных:
Советы по типам данных SQL Server
Типы данных Microsoft Docs (Transact-SQL)
Об авторе
Джо Гэвин из района Большого Бостона.