T-SQL - Типы данных
Тип данных SQL Server - это атрибут, определяющий типы данных любого объекта. Каждый столбец, переменная и выражение имеют связанный тип данных в SQL Server. Эти типы данных можно использовать при создании таблиц. Вы можете выбрать конкретный тип данных для столбца таблицы в зависимости от ваших требований.
SQL Server предлагает семь категорий, включая другие категории типов данных для использования.
Точные числовые типы
| Тип | Из | Чтобы | 
|---|---|---|
| Bigint | -9 223 372 036 854 775 808 | 9 223 372 036 854 775 807 | 
| int | -2 147 483 648 | 2 147 483 647 | 
| Smallint | -32 768 | 32 767 | 
| tinyint | 0 | 255 | 
| немного | 0 | 1 | 
| десятичный | -10 ^ 38 +1 | 10 ^ 38 –1 | 
| числовой | -10 ^ 38 +1 | 10 ^ 38 –1 | 
| Деньги | -922 337 203 685 477,5808 | +922 337 203 685 477 5807 | 
| smallmoney | -214 748,3648 | +214 748,3647 | 
Числовой и десятичный являются типами данных с фиксированной точностью и масштабом и функционально эквивалентны.
Приблизительные числовые типы
| Тип | Из | Чтобы | 
|---|---|---|
| Плавать | -1,79E + 308 | 1.79E + 308 | 
| Реальный | -3,40E + 38 | 3,40E + 38 | 
Типы даты и времени
| Тип | Из | Чтобы | 
|---|---|---|
|   datetime(Точность 3,33 миллисекунды)  |  
       01 янв. 1753 г. | 31 декабря 9999 г. | 
|   smalldatetime(Точность 1 минута)  |  
       01 янв.1900 г. | 6 июня 2079 г. | 
date(Точность 1 день. Появилось в SQL Server 2008)  |  
       1 января 0001 г. | 31 декабря 9999 г. | 
datetimeoffset(Точность 100 наносекунд. Представлено в SQL Server 2008)  |  
       1 января 0001 г. | 31 декабря 9999 г. | 
datetime2(Точность 100 наносекунд. Введено в SQL Server 2008)  |  
       1 января 0001 г. | 31 декабря 9999 г. | 
time(Точность 100 наносекунд. Введено в SQL Server 2008)  |  
       00: 00: 00.0000000 | 23: 59: 59.9999999 | 
Строки символов
| Старший Нет | Тип и описание | 
|---|---|
| 1 |   char Символьные данные фиксированной длины, не относящиеся к Unicode, с максимальной длиной 8000 символов.  |  
      
| 2 | varchar Данные переменной длины не в Юникоде, не более 8000 символов.  |  
      
| 3 | Varchar (max) Данные переменной длины не в формате Unicode с максимальной длиной 231 символ (введено в SQL Server 2005).  |  
      
| 4 | text Данные переменной длины не в Юникоде с максимальной длиной 2147483647 символов  |  
      
Строки символов Юникода
| Старший Нет | Тип и описание | 
|---|---|
| 1 |   nchar Данные Unicode фиксированной длины с максимальной длиной 4000 символов.  |  
      
| 2 |   nvarchar Данные Unicode переменной длины с максимальной длиной 4000 символов.  |  
      
| 3 |   Nvarchar (max) Данные Unicode переменной длины с максимальной длиной 2 30 символов (введено в SQL Server 2005).  |  
      
| 4 |   ntext Данные Unicode переменной длины с максимальной длиной 1 073 741 823 символа.  |  
      
Двоичные строки
| Старший Нет | Тип и описание | 
|---|---|
| 1 |   binary Двоичные данные фиксированной длины с максимальной длиной 8000 байт.  |  
      
| 2 |   varbinary Двоичные данные переменной длины с максимальной длиной 8000 байт.  |  
      
| 3 |   varbinary(max) Двоичные данные переменной длины с максимальной длиной 2 31 байта (введено в SQL Server 2005).  |  
      
| 4 |   image Двоичные данные переменной длины с максимальной длиной 2 147 483 647 байт.  |  
      
Другие типы данных
sql_variant - Хранит значения различных типов данных, поддерживаемых SQL Server, кроме текста, ntext и отметки времени.
timestamp - Хранит уникальный номер для всей базы данных, который обновляется каждый раз при обновлении строки.
uniqueidentifier - Хранит глобальный уникальный идентификатор (GUID).
xml- Хранит данные XML. Вы можете хранить экземпляры XML в столбце или переменной (введено в SQL Server 2005).
cursor - Ссылка на курсор.
table - Сохраняет набор результатов для последующей обработки.
hierarchyid - Системный тип данных переменной длины, используемый для представления позиции в иерархии (введено в SQL Server 2008).