Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Списък с типове данни в SQL Server 2017

Тази статия съдържа бърза справка за предоставените от системата типове данни, налични в SQL Server 2017, заедно с основна информация, като максимална дължина в байтове, прецизност, мащаб и дали типът данни е нулев или не (1 означава, че е нула, 0 означава, че не може да се нула).

Точни числа

Име Максимална дължина Прецизност Мащаб Нуля?
голям 8 19 0 1
бит 1 1 0 1
десетичен знак 17 38 38 1
int 4 10 0 1
пари 8 19 4 1
числово 17 38 38 1
smallint 2 5 0 1
малки пари 4 10 4 1
tinyint 1 3 0 1

Приблизителни числа

Име Максимална дължина Прецизност Мащаб Нуля?
float 8 53 0 1
истински 4 24 0 1

Дата и час

Име Максимална дължина Прецизност Мащаб Нуля?
дата 3 10 0 1
дата и час2 8 27 7 1
дата и час 8 23 3 1
datetimeoffset 10 34 7 1
smalldatetime 4 16 0 1
време 5 16 7 1

Символни низове

Име Максимална дължина Прецизност Мащаб Нуля?
char 8000 0 0 1
текст 16 0 0 1
varchar 8000 0 0 1

Низове от символи в Unicode

Име Максимална дължина Прецизност Мащаб Нуля?
nchar 8000 0 0 1
ntext 16 0 0 1
nvarchar 8000 0 0 1

Двоични низове

Име Максимална дължина Прецизност Мащаб Нуля?
двоичен 8000 0 0 1
изображение 16 0 0 1
варбинарен 8000 0 0 1

Други типове данни

Име Максимална дължина Прецизност Мащаб Нуля?
йерархия 892 0 0 1
sql_variant 8016 0 0 1
геометрия -1 0 0 1
география -1 0 0 1
марка за време* 8 0 0 0
уникален идентификатор 16 0 0 1
xml -1 0 0 1
име на системата 256 0 0 0

* марката за време типът данни е синоним на версия на ред тип данни. Вижте по-долу за повече информация.

Типове „курсор“, „таблица“ и „версия на редове“

Изтеглих информацията в горните таблици чрез sys.types изглед на системния каталог. В допълнение към горните типове, документацията на Microsoft за типовете данни също изброява курсора имасата типове, както и rowversion вместо клеймо за време .

Типът ‘timestamp’

Microsoft съветва, че timestamp синтаксисът е отхвърлен. Препоръчително е сега да използваме версия на ред вместо клеймо за време където е възможно в нашите DDL изявления.

Междувременно обаче може да откриете, че колоните все още изглеждат дефинирани като клеймо за време дори когато изрично посочите версия на ред при създаването им (с помощта на Transact-SQL). Въпреки това Microsoft съветва, че това е правилният синтаксис, който да се използва занапред.

Също така имайте предвид, че timestamp в T-SQL/SQL Server е различно от timestamp тип данни, дефиниран в стандарта ISO.

Изглежда, че причината за оттеглянето му се дължи на объркването, причинено от името му. Microsoft потвърди това през 2007 г. и посъветва, че ще се опитат да се справят с това по обратно съвместим начин в бъдещи издания.

Проверете собствената си база данни

Можете да извлечете информация за тип данни за вашите собствени бази данни, като използвате sys.types системен изглед. Вижте Как да върнете списък с типове данни в SQL Server за обяснение и примери. Изпълнението на този изглед също връща всички псевдоними и дефинирани от потребителя типове, които са в базата данни.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Получаване на номер на седмица от дата в MS SQL Server 2005?

  2. Обединете два дяла в един в SQL Server (T-SQL)

  3. Премахнете свързан сървър в SQL Server с помощта на T-SQL

  4. Присъединяване към MAX запис за дата в групата

  5. Отстраняване на проблеми при работа с дата и час в SQL Server