Шта је тип података?
Тип података је дефинисан као тип података који било која колона или променљива може да ускладишти у МС СКЛ Сервер.
Док креирате било коју табелу или променљиву, поред навођења имена, подесите и тип података који ће се чувати.
Како се користи МС СКЛ тип података
- Морате унапред дефинисати тип података који колона или променљива могу да чувају. Одређивање типа података такође ограничава корисника да унесе неочекиване или неваљане податке.
- Можете ефикасно користити меморију додељивањем одговарајућег типа података променљивој или колони која ће доделити само потребну количину системске меморије за податке одговарајуће колоне.
- МС СКЛ нуди широку категорију типа података према потребама корисника. Као датум, бинарне слике итд.
У овом упутству ћете научити:
- Шта је тип података?
- Како се користи МС СКЛ тип података
- Зашто користити ДатаТипес?
- Тачно нумерички
- Приближни нумерички
- Датум и време
- Низови знакова
- Низови знакова Уницоде
- Бинарни низ
- Остали типови података
Зашто користити ДатаТипес?
Узмимо узорак једноставне странице за регистрацију апликације за веб локацију. Три поља за унос су Име, Презиме и Контакт број.
Овде треба напоменути да у реалном времену:
- „Име / презиме“ ће увек бити абецедно .
- „Контакт“ ће увек бити нумерички .
- Из горње слике вреди дефинисати „Име / презиме“ као знак, а „ Контакт“ као цео број .
Очигледно је да у било којој апликацији сва поља имају једну или другу врсту података. Нпр. Нумерички, абецедни, датум и многи други.
Такође имајте на уму да различити типови података захтевају различиту меморију. Стога је логичније дефинисати колону или променљиву са типом података који ће се држати за ефикасно коришћење меморије.
Тип података доступан у МС СКЛ-у
МС СКЛ сервер подржава следеће категорије типа података:
- Тачно нумерички
- Приближни нумерички
- Датум и време
- Низови знакова
- Низови знакова Уницоде
- Бинарне жице
- Остале врсте података

Тачно нумерички
Тачан нумерички број има девет типова под-података. Тачни нумерички типови података
Тип података | Опис | Доња граница | Горња граница | Меморија |
---|---|---|---|---|
бигинт | Чува целе бројеве у датом опсегу | −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 бајта |
смаллинт | Чува целе бројеве у датом опсегу | −2 15 (−32.767) | 2 15 (−32.768) | 2 бајта |
тиниинт | Чува целе бројеве у датом опсегу | 0 | 255 | 1 бајт |
мало | Може трајати 0, 1 или НУЛЛ вредности. | 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
Синтакса: децимални (П, С)
Ево,
- П је прецизност
- С је скала
Упит:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Излаз: 2.31
Приближни нумерички
Приближна нумеричка категорија укључује покретне тачке и стварне вредности. Углавном се користе у научним прорачунима. Приближни нумерички тип података
Тип података | Опис | Доња граница | Горња граница | Меморија | Прецизност |
---|---|---|---|---|---|
флоат (н) | Користи се за плутајући прецизни број | −1,79Е + 308 | 1,79Е + 308 | Зависи од вредности н | 7 цифара |
прави | Користи се за плутајући прецизни број | −3.40Е + 38 | 3,40Е + 38 | 4 бајта | 15 цифара |
Syntax: FLOAT [(n)]
Овде је н број битова који се користе за чување мантисе броја пловка у научном запису. Подразумевано је вредност н 53.
Када корисник дефинише тип података као флоат, н треба да буде вредност између 1 и 53.
СКЛ Сервер третира н као једну од две могуће вредности. Ако је 1 <= н <= 24, н се третира као 24. Ако је 25 <= н <= 53, н се третира као 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 |
смаллдатетиме | Користи се за одређивање датума и времена од 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 |
датетимеоффсет | Слично времену података, али има померање временске зоне | 10 бајтова | 100 наносекунди | 0001-01-01 | 9999-12-31 |
датетиме2 | Користи се за одређивање датума и времена од 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'
Низови знакова
Ова категорија се односи на тип карактера. Омогућава кориснику да дефинише тип података који може бити фиксне и променљиве дужине. Има четири врсте података. Типови података знаковних низова
Тип података | Опис | Доња граница | Горња граница | Меморија |
---|---|---|---|---|
цхар | То је низ знакова фиксне ширине. Похрањује највише 8000 знакова. | 0 знакова | 8000 знакова | н бајтова |
варцхар | Ово је низ знакова променљиве ширине | 0 знакова | 8000 знакова | н бајтова + 2 бајта |
варцхар (макс.) | Ово је низ знакова променљиве ширине. У њему се чува највише 1.073.741.824 знакова. | 0 знакова | 2 31 знак | н бајтова + 2 бајта |
текст | Ово је низ знакова променљиве ширине. Похрањује максимално 2 ГБ текстуалних података. | 0 знакова | 2.147.483.647 знакова | н бајтова + 4 бајта |
Пример упита:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Излаз: Ово је тип података карактера
Низови знакова Уницоде
У овој категорији се чува читав опсег Уницоде знакова који користи УТФ-16 кодирање знакова. Типови података Уницоде знакова
Тип података | Опис | Доња граница | Горња граница | Меморија |
---|---|---|---|---|
нцхар | То је Уницоде низ фиксне ширине | 0 знакова | 4000 знакова | 2 пута н бајтова |
нварцхар | То је уницоде низ променљиве ширине | 0 знакова | 4000 знакова | 2 пута н бајтова + 2 бајта |
нтект | То је уницоде низ променљиве ширине | 0 знакова | 1,073,741,823 цхар | 2 пута дужи низ |
Пример упита:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Излаз: Ово је нЦхарацтер тип података
Бинарни низ
Ова категорија садржи бинарни низ фиксне и променљиве дужине. Бинарни типови података
Тип података | Опис | Доња граница | Горња граница | Меморија |
---|---|---|---|---|
бинарни | То је бинарни низ фиксне ширине. Похрањује највише 8000 бајтова. | 0 бајтова | 8000 бајтова | н бајтова |
варбинари | Ово је бинарни низ променљиве ширине. Похрањује највише 8000 бајтова | 0 бајтова | 8000 бајтова | Стварна дужина унетих података + 2 бајта |
слика | Ово је бинарни низ променљиве ширине. Садржи највише 2 ГБ. | 0 бајтова | 2.147.483.647 бајтова |
Пример упита:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Излаз: 0к000Ц
Остали типови података
То су други различити типови података са доњим описом-
Тип података | Опис |
---|---|
Курсор | Његов излаз је колона сп_цурсор_лист и сп_десцрибе_цурсор. Враћа име променљиве курсора. |
Редна верзија | Верзија означава редове табеле. |
Хијерархија | Овај тип података представља положај у хијерархији |
Јединствени идентификатор | Конверзија из израза знакова. |
Скл_вариант | Похрањује вредности типова података подржаних од стране СКЛ сервера. |
КСМЛ | КСМЛ податке чува у колони. |
Тип просторне геометрије | Представља податке у равном координатном систему. |
Тип просторне географије | Представља податке у координатном систему округле земље. |
сто | У њему се чува скуп резултата за каснију обраду. |
Занимљивости!
- Тип података ЦХАР је бржи од ВАРЦХАР током преузимања података.
Резиме:
- Свака колона у табелама дефинише свој тип података током креирања табеле.
- Постоји шест главних категорија и још једна разна категорија. Остало има на располагању девет подкатегорија типова података.