Типове данни на SQL Server с примери

Какво е тип данни?

A Тип данни в SQL сървър се дефинира като тип данни, които всяка колона или променлива може да съхранява. Това е тип данни, които обектът съдържа като цяло число, знак, низ и т.н. Докато създавате таблица или променлива, в допълнение към посочването на името, вие също задавате типа данни, които ще съхранява.

Как да използвате MS SQL тип данни

  • Трябва предварително да дефинирате типа данни, които колона или променлива може да съхранява. Определянето на типа данни също така ограничава потребителя от въвеждане на неочаквани или невалидни данни.
  • Можете да използвате ефективно паметта, като присвоите подходящ тип данни на променлива или колона, което ще разпредели само необходимото количество системна памет за данните на съответната колона.
  • MS SQL предлага широка категория основни типове данни в SQL според нуждите на потребителя като дата, двоични изображения и др.

Защо да използвате DataTypes?

Нека вземем проба от прости Страница за регистрация на приложението за уебсайт. Три полета за въвеждане са собствено име, фамилия и номер за връзка.

Тук трябва да отбележим, че в реално време:

  • „Собствено/фамилно име“ винаги ще бъде азбучен.
  • „Контакт“ винаги ще бъде цифров.
Типове данни на SQL Server
Пример за типове данни в MS SQL
  • От горната снимка си струва да се определи „Собствено/фамилно име“ като характер намлява „Контакт“ като цяло число.

Очевидно е, че във всяко приложение всички полета имат един или друг тип данни. Например цифри, азбука, дата и много други.

Също така имайте предвид, че различните типове данни имат различни изисквания за памет. Следователно има по-голям смисъл да се дефинира колоната или променлив с типа данни, който ще съдържа за ефективно използване на паметта.

Наличен тип данни в MS SQL Server

Ето списък с типове данни на MS SQL сървър:

MS SQL сървър поддържа следните категории тип данни:

  • Точна цифра
  • Приблизително числово
  • Дата и час
  • Символни низове
  • Unicode символни низове
  • Двоични низове
  • Други типове данни
Наличен тип данни в MS SQL Server

MS SQL типове данни

Точни числови типове данни в SQL

Exact numeric има девет типа подтипове данни в SQL сървъра.

Точни числови типове данни

Тип данни Descriptйон Долна граница Горен лимит памет
bigint Той съхранява цели числа в дадения диапазон −2^63 (−9,223,372 036,854,775,808 XNUMX, XNUMX XNUMX XNUMX XNUMX) 2^63−1 (−9,223,372, 036,854,775,807) 8 байта
Int Той съхранява цели числа в дадения диапазон −2^31 (−2,147 483,648 XNUMX, XNUMX XNUMX XNUMX XNUMX) 2^31−1 (−2,147, 483,647) 4 байта
smallint Той съхранява цели числа в дадения диапазон −2^15 (−32,767 XNUMX) 2^15 (−32,768 XNUMX) 2 байта
tinyint Той съхранява цели числа в дадения диапазон 0 255 1 байт
малко Може да приема стойности 0, 1 или NULL. 0 1 1 байт/8 бита колона
десетичен Използва се за мащаб и числа с фиксирана точност −10^38+1 10^381−1 5 до 17 байта
цифров Използва се за мащаб и числа с фиксирана точност −10^38+1 10^381−1 5 до 17 байта
пари Използвани парични данни −922,337, 203, 685,477.5808 +922,337, 203, 685,477.5807 8 байта
малки пари Използвани парични данни -214,478.3648 +214,478.3647 4 байта

Точни цифрови типове данни в SQL сървър с примери:

Запитване:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

Продукция

2

Синтаксис

Десетичен знак (P,S)

Тук

  • P е прецизност
  • S е мащаб

Запитване:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31
PRINT @Datatype_Decimal

Продукция

2.31

Приблизителни числови типове данни в SQL

SQL Приблизителна числова категория включва плаваща запетая и реални стойности. Тези типове данни в SQL се използват най-вече в научни изчисления.

Приблизителен цифров тип данни

Тип данни Descriptйон Долна граница Горен лимит памет Прецизност
float(n) Използва се за число с плаваща точност −1.79E+308 1.79 308 + Зависи от стойността на n 7 Digit
реален Използва се за число с плаваща точност −3.40E+38 3.40 38 + 4 байта 15 Digit
Syntax:  FLOAT [(n)]

Тук n е броят битове, които се използват за съхраняване на мантисата на поплавък число в научна нотация. По подразбиране стойността на n е 53.

Когато потребителят дефинира тип данни като float, n трябва да бъде стойност между 1 и 53.

SQL Server лекува n като една от двете възможни стойности. Ако 1<=n<=24, n се третира като 24. Ако 25<=n<=53, n се третира като 53.

Примерна заявка:

DECLARE @Datatype_Float FLOAT(24) = 22.1234
PRINT @Datatype_Float

Продукция

22.1234

Типове данни за дата и час в SQL

Той съхранява данни от тип Дата и час.

Тип данни за дата и час

Тип данни Descriptйон Размер на съхранение Точност Долен диапазон Горен диапазон
Време за среща Използва се за указване на дата и час от 1 януари 1753 г. до 31 декември 9999 г. Има точност от 3.33 милисекунди. 8 байта Закръглено до стъпки от .000, .003, .007 1753-01-01 9999-12-31
малка датачас Използва се за указване на дата и час от 1 януари 0001 г. до 31 декември 9999 г. Има точност от 100 наносекунди 4 байта, фиксирани 1 минути 1900-01-01 2079-06-06
дата Използва се само за съхраняване на дата от 1 януари 0001 г. до 31 декември 9999 г. 3 байта, фиксирани 1 дни 0001-01-01 9999-12-31
път Използва се само за съхраняване на стойности само за време с точност до 100 наносекунди. 5 байта 100 XNUMX наносекунди 00:00:00.0000000 23:59:59.9999999
datetimeoffset Подобно на datatime, но има отместване на часовата зона 10 байта 100 XNUMX наносекунди 0001-01-01 9999-12-31
дата и час2 Използва се за указване на дата и час от 1 януари 0001 г. до 31 декември 9999 г. 6 байта 100 XNUMX наносекунди 0001-01-01 9999-12-31

Примерна заявка:

DECLARE @Datatype_Date DATE = '2030-01-01'
PRINT @Datatype_Date

Продукция

"2030-01-01"

Символни низове Типове данни в SQL

Тази категория е свързана с тип символ. Той позволява на потребителя да дефинира типа данни на символа, който може да бъде с фиксирана и променлива дължина. Има четири типа данни. По-долу са типовете данни на SQL сървъра със символен низ с примери.

Типове данни от символни низове

Тип данни Descriptйон Долна граница Горен лимит памет
овъглявам Това е символен низ с фиксирана ширина. Той съхранява максимум 8,000 знака. 0 знака 8000 знака n байта
varchar Това е символен низ с променлива ширина 0 знака 8000 знака n байта + 2 байта
varchar (макс.) Това е символен низ с променлива ширина. Той съхранява максимум 1,073,741,824 XNUMX XNUMX XNUMX знака. 0 знака 2^31 знака n байта + 2 байта
текст Това е символен низ с променлива ширина. Той съхранява максимум 2 GB текстови данни. 0 знака 2,147,483,647 знака n байта + 4 байта

Примерна заявка:

DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'
PRINT @Datatype_Char

Продукция

Това е символен тип данни

Unicode Character String Типове данни в SQL

Тази категория съхранява пълния набор от символи Unicode, които използват кодирането на знаци UTF-16.

Типове данни от символен низ на Unicode

Тип данни Descriptйон Долна граница Горен лимит памет
нчар Това е Unicode низ с фиксирана ширина 0 знака 4000 знака 2 по n байта
nvarchar Това е Unicode низ с променлива ширина 0 знака 4000 знака 2 по n байта + 2 байта
ntext Това е Unicode низ с променлива ширина 0 знака 1,073,741,823 символа 2 пъти дължината на низа

Примерна заявка:

DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'
PRINT @Datatype_nChar

Продукция

Това е nCharacter Datatype

Двоични низови типове данни в SQL

Тази категория съдържа двоичен низ с фиксирана и променлива дължина.

Двоични низови типове данни

Тип данни Descriptйон Долна граница Горен лимит памет
двоен Това е двоичен низ с фиксирана ширина. Той съхранява максимум 8,000 байта. 0 байта 8000 байта n байта
varbinary Това е двоичен низ с променлива ширина. Той съхранява максимум 8,000 байта 0 байта 8000 байта Действителната дължина на въведените данни + 2 байта
изображение Това е двоичен низ с променлива ширина. Съхранява максимум 2 GB. 0 байта 2,147,483,647 байта

Примерна заявка:

DECLARE @Datatype_Binary BINARY(2) = 12;
PRINT @Datatype_Binary

Продукция

0x000C

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

Това са други различни типове данни на SQL сървър с описанието по-долу-

Тип данни Descriptйон
курсор Неговият изход е колона от sp_cursor_list намлява sp_describe_cursor.
Връща името на променливата на курсора.
Редова версия Версията му подпечатва редовете на таблицата.
Йерархия Този тип данни представлява позиция в йерархията
Уникален идентификатор Преобразуване от символен израз.
Sql_variant Той съхранява стойности на поддържани от SQL сървър типове данни.
XML Той съхранява XML данни в колона.
Тип пространствена геометрия Той представя данни в плоска координатна система.
Тип пространствена география Той представя данни в кръглоземната координатна система.
маса Той съхранява набор от резултати за последваща обработка.

Интересни факти!

  • Тип данни CHAR е по-бърз от типа данни SQL VARCHAR при извличане на данни.

Oбобщение

  • Всяка колона в таблиците се определя със своя тип данни по време на създаването на таблица.
  • Има шест основни категории и една друга категория. Другите разни имат девет подкатегории SQL сървър налични типове данни и размери.