Типове данни на SQL Server: Varchar, Numeric, Date Time (T-SQL Примери)

Съдържание:

Anonim

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

Типът данни се дефинира като типа данни, които всяка колона или променлива може да съхранява в MS SQL Server.

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

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

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

В този урок ще научите:

  • Какво е тип данни?
    • Как да използвам MS SQL тип данни
  • Защо да използвам DataTypes?
    • Точно числово
    • Приблизително числово
    • Дата и час
    • Символни низове
    • Unicode символни низове
    • Двоичен низ
    • Други типове данни

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

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

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

  • „Име / фамилия“ винаги ще бъде по азбучен ред .
  • „Контакт“ винаги ще бъде цифров .

  • От горната снимка си струва да дефинирате „Име / Фамилия“ като знак и Контакт“ като цяло число .

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

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

Тип данни, наличен в MS SQL

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

  • Точно числово
  • Приблизително числово
  • Дата и час
  • Символни низове
  • Unicode символни низове
  • Двоични низове
  • Други типове данни
MSQL типове данни

Точно числово

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

Тип данни Описание Долна граница Горен лимит Памет
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,767) 2 15 (−32 768) 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 байта

Примери:

Запитване:

DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int

Изход: 2

Синтаксис: десетичен (P, S)

Тук,

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

Запитване:

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

Изход: 2.31

Приблизително числово

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

Тип данни Описание Долна граница Горен лимит Памет Прецизност
плувка (n) Използва се за число с плаваща точност -1,79E + 308 1,79Е + 308 Зависи от стойността на n 7 цифри
истински Използва се за число с плаваща точност −3.40E + 38 3.40E + 38 4 байта 15 цифри
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.1234PRINT @Datatype_Float

Изход: 22.1234

Дата и час

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

Тип данни Описание Размер на съхранението Точност Долен обхват Горен обхват
Време за среща Използва се за посочване на дата и час от 1 януари 1753 г. до 31 декември 9999 г. Точността му е 3,33 милисекунди. 8 байта Закръглено до стъпки от .000, .003, .007 1753-01-01 9999-12-31
smalldatetime Използва се за определяне на дата и час от 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 наносекунди 00: 00: 00,0000000 23: 59: 59,9999999
datetimeoffset Подобно на времето за данни, но има изместване на часовата зона 10 байта 100 наносекунди 0001-01-01 9999-12-31
datetime2 Използва се за посочване на дата и час от 1 януари 0001 до 31 декември 9999 6 байта 100 наносекунди 0001-01-01 9999-12-31

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

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

Изход: '2030-01-01'

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

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

Тип данни Описание Долна граница Горен лимит Памет
char Това е символен низ с фиксирана ширина. Съхранява максимум 8000 знака. 0 символа 8000 символа n байта
varchar Това е символен низ с променлива ширина 0 символа 8000 символа n байта + 2 байта
varchar (макс.) Това е символен низ с променлива ширина. Съхранява максимум 1 073 741 824 знака. 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 символни низове

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

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

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

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

Изход: Това е nCharacter тип данни

Двоичен низ

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

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

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

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

Изход: 0x000C

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

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

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

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

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

Резюме:

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