Типове данни на SQL Server с примери
Какво е тип данни?
A Тип данни в SQL сървър се дефинира като тип данни, които всяка колона или променлива може да съхранява. Това е тип данни, които обектът съдържа като цяло число, знак, низ и т.н. Докато създавате таблица или променлива, в допълнение към посочването на името, вие също задавате типа данни, които ще съхранява.
Как да използвате MS SQL тип данни
- Трябва предварително да дефинирате типа данни, които колона или променлива може да съхранява. Определянето на типа данни също така ограничава потребителя от въвеждане на неочаквани или невалидни данни.
- Можете да използвате ефективно паметта, като присвоите подходящ тип данни на променлива или колона, което ще разпредели само необходимото количество системна памет за данните на съответната колона.
- MS SQL предлага широка категория основни типове данни в SQL според нуждите на потребителя като дата, двоични изображения и др.
Защо да използвате DataTypes?
Нека вземем проба от прости Страница за регистрация на приложението за уебсайт. Три полета за въвеждане са собствено име, фамилия и номер за връзка.
Тук трябва да отбележим, че в реално време:
- „Собствено/фамилно име“ винаги ще бъде азбучен.
- „Контакт“ винаги ще бъде цифров.
- От горната снимка си струва да се определи „Собствено/фамилно име“ като характер намлява „Контакт“ като цяло число.
Очевидно е, че във всяко приложение всички полета имат един или друг тип данни. Например цифри, азбука, дата и много други.
Също така имайте предвид, че различните типове данни имат различни изисквания за памет. Следователно има по-голям смисъл да се дефинира колоната или променлив с типа данни, който ще съдържа за ефективно използване на паметта.
Наличен тип данни в MS SQL Server
Ето списък с типове данни на MS SQL сървър:
MS SQL сървър поддържа следните категории тип данни:
- Точна цифра
- Приблизително числово
- Дата и час
- Символни низове
- Unicode символни низове
- Двоични низове
- Други типове данни
Точни числови типове данни в 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 сървър налични типове данни и размери.