Mark sql үшін деректер түрі. SQL серверінде қолданылатын деректер түрлері

Қазіргі әлемде ақпаратты сақтауға арналған көптеген құралдар мен технологиялар бар. Ең кең тараған әдістердің бірі - мәліметтер базасы, олармен жұмыс істеу үшін әртүрлі басқару жүйелері қолданылады. Бұл сақтау әдісі барлық деректер нақты құрылымдалған және арнайы кестелерге енгізілген деп болжайды. Олар өз кезегінде белгілі бір деректер түрінің атрибут бағандарынан тұрады.

Деректер түрі - бұл не?

Бүгінгі таңда «деректер түрі» ұғымын түсіндіретін бірнеше анықтамалар бар. Дегенмен, олардың әрқайсысының бір жалпы мағынасы бар. Сондықтан оны шартты түрде оның мәндерімен (символдық, сандық және т.б.), сондай-ақ қарастырылып отырған мәндерге қолданылатын операциялармен сипатталатын деректер тобы ретінде анықтауға болады.

Деректер типтерінің қолдану аясы көп қырлы. Олар ақпаратты сақтау үшін ғана емес, сонымен қатар әртүрлі есептерді шешу үшін бағдарламалауда қолданылады. Бағдарламаларды құрастыру кезінде белгілі бір операциялар жиынтығымен жеке деректер түрлерін әзірлеу және пайдалану әдеттегі тәжірибе болып табылады. Дегенмен, реттелетіндер әрқашан негізгі деректер түрлеріне негізделген. SQL стандарты сонымен қатар ең көп таралған негізгі типтерді пайдалануға негізделген, бірақ бірқатар нақты толықтырулармен.

Мәліметтер типтерінің классификациясы

Мәліметтерді түрі бойынша топтастыру ертеде пайда болды және оны өңдеудің ыңғайлығы қажеттілігінен туындады. Қазіргі уақытта бар деректер типтерінің негізін екі құрайды: символдық және сандық.

Олардың негізінде көрсеткіштер, логикалық, бүтін, өзгермелі нүкте және жолдық деректер типтерін қамтитын заманауи классификация жасалды. SQL - классификация жоғарыда аталғандардың барлығын толығымен қамтиды. Дегенмен, кейбір заманауи ДҚБЖ үшін қосымша қондырмалар бар. Оларға Oracle және MySQL кіреді.

Негізгі деректер түрлері

Тілдік стандарттарға сәйкес келетін кесте атрибуттарын жасау үшін қолданылатындар 4 класқа бөлінеді:

  • жол мәндері;
  • бөлшек;
  • бүтін мәндер;
  • күн мен уақыт мәндері.

Жолдық деректер түрі

Мәндердің бірінші тобы таңбалар ретінде ұсынылған кез келген деректерді сақтауға мүмкіндік береді.

Бұл арнайы таңбалар, сандар және әріптер болуы мүмкін, олар бірге кез келген Деректер түрлерінде жолдар ретінде өңделеді, төменде берілген кесте тізімі бірінші топты құрайды.

Жолдарды сақтау үшін қолданылады. Жақшадағы параметр сақталған жолдың ұзындығын түзетуге мүмкіндік береді. Жол үшін көрсетуге болатын байттағы ең үлкен өлшем - 255.

Алдыңғы түрге ұқсас, ол ұзындығы 255 таңбаға дейінгі жолдарды сақтауға мүмкіндік береді. Дегенмен, CHAR-дан айырмашылығы жадтың қажетті көлемі осы түрдегі мәнді сақтау үшін бөлінген. Яғни, 5 таңбадан тұратын жол 6 байт жадты қажет етеді. Бірінші жағдайда мән үшін жады көрсетілген параметрге сәйкес бөлінеді.

255 таңбаға дейінгі жол деректерін сақтау үшін қолданылады.

Өлшемі 65535 әріптен аспайтын мәтіндік ақпаратты сақтау үшін қолданылады.

Қарастырылып отырған деректер түрі TEXT түріне ұқсас және көлемі 65 535 символға жетуі мүмкін мәліметтер базасында мәтіндік ақпаратты сақтауға мүмкіндік береді. Бірақ іс жүзінде ол дыбыстық деректерді, сызбаларды, электронды құжаттамаларды және т.б. сақтау үшін қолданылады.

Ол TEXT түрі негізінде әзірленді, бірақ көлемі 16 777 215 әріпке немесе таңбаға дейін ұлғаюына байланысты көбірек деректерді сақтауға мүмкіндік береді.

Өлшемі 16 777 215 таңбадан аспайтын мәліметтер базасында электрондық құжаттарды сақтау үшін қолданылады.

Функционалды түрде алдыңғы түрлерге ұқсас, бірақ жады көлемі 4 гигабайтқа дейін ұлғайтылған.

Дерекқорға деректердің үлкен көлемін орналастыруға мүмкіндік береді (4 294 967 295 таңба).

ENUM (a, b, c, т.б.)

Мүмкін мәндер тізімін көрсету үшін пайдаланылатын арнайы деректер түрі. 65535 мәндерін көрсетуге мүмкіндік береді. Қарастырылып отырған түрдегі жолдар жиында көрсетілгендерден бір мәнді қабылдай алады. Берілген тізімде жоқ мәндер қосылған жағдайда кестеге бос мәндер жазылады.

Жарамды мәндер жиынын көрсетеді. Алдыңғы түрге қарағанда, ол берілген аргументтердің кез келген немесе бірнеше элементтері арқылы инициализациялануы мүмкін 64 параметрді қамту үшін пайдаланылады.

Бөлшек деректер түрлерінің кестесі

Бөлшек SQL деректер түрлері өзгермелі нүкте сандарын сақтау үшін пайдаланылады. Іс жүзінде, әдетте, әртүрлі қаржылық көрсеткіштер белгіленеді. Қажетті дәлдікке байланысты ұсынылған үшеуінің бірі қолданылады:

Мысалы, банктік есептеулерде бөлшек бөлігінің дәлдігі 8 немесе 10 цифрға жетеді. Алғашқы екі түрді бұл аймақта қолдануға болмайды.

Қаржылық көрсеткіштерді жолдар түрінде сақтау көптеген мәселелерді шешуді айтарлықтай жеңілдетеді. Дегенмен, қаржылық мәселелермен айналысқанда немесе әртүрлі SQL операцияларын орындаған кезде деректер түрін түрлендіру үлкен маңызға ие. Әзірлеушілер деректердің әрқашан өзгеріссіз қалуын қамтамасыз ету үшін сақтау және өңдеу әдістерінің түрін ескеруі керек.

Бүтін деректер түрі

Бүтін сандар – негізгі класстардың бірін құрайтын сандардың жеке тобы. Бүтін SQL деректер түрлері оның қасиеттерінің кейбір кеңейтімі бар базаны пайдалануға негізделген.

Дұрыс деректер түрін таңдау арқылы сіз маңызды жадты үнемдей аласыз және қажетті SQL сұрауларын орындауға кететін сервер уақытын азайта аласыз. Деректер түрлері, дәлірек айтқанда, олардың ауқымы қажетті сақтау кеңістігін анықтайды.

Сондықтан әзірлеушілер атрибуттар үшін үлкен диапазондарды пайдалану жад құнының жоғарылауына әкелетінін есте сақтау маңызды. Шешілетін мәселелерді нақты талдау және шамамен диапазон белгілі және қолтаңбалы сандарды пайдалану шарты анықталған жағдайларды анықтау қажет. Пайдаланылатын аргументтер ауқымы аз болса және барлық сандар оң болса, онда UNSIGNED төлсипаты арқылы құрылған unsigned түрін пайдалану дұрысырақ болар еді.

Күн және уақыт деректерінің түрлері

SQL негіздерін үйрену кезінде күн мен уақыт деректерінің түрлері ерекше қызығушылық тудырады.

Келесі түрлерді пайдалану уақытқа байланысты жүйелерді жасау кезінде қосымша артықшылықтар береді.

Негізгі мақсат – күнді ЖЫЛ-АЙ-КҮН («ЖЖЖЖ-АА-КК» немесе «уууу-мм-кг») пішімінде сақтау. Әдетте мәндер «-» белгісімен бөлінеді, бірақ сандардан басқа кез келген таңба бөлгіш ретінде пайдаланылуы мүмкін.

Кесте ұяшығына уақытша мәндерді енгізуге мүмкіндік береді. Барлық мәндер «сағ:мм:сс» пішімінде көрсетілген.

Алдыңғы екі түрдің функцияларын біріктіреді. Сақтау пішімі келесідей ұсынылған: “уууу-мм-кк сс:мм:сс”.

1970 жылдың 1 қаңтарындағы түн ортасынан бастап көрсетілген мәнге дейін өткен секундтар саны бойынша есептелген күн мен уақытты сақтайды.

Жылдық мәндерді екі немесе төрт сандық форматта сақтау үшін қолданылады.

Сізге тағы не білу керек?

Барлық осы деректер түрлері Microsoft компаниясында егжей-тегжейлі жүйеленген. Ол SQL деректер түрлерін толығырақ әзірледі.

Мысалы, компания әрбір түрді пайдаланған кезде байтпен қанша жад бөлінетінін егжей-тегжейлі сипаттайды. Қолда бар ақпаратты зерттей отырып, әзірлеушілерге сервердің аппараттық мүмкіндіктеріне негізделген кестелердің құрылымын және бүкіл деректер қорын жобалау оңайырақ.

Арнайы көрсеткіш – NULL

Кейде мәліметтер базасын толтыру кезінде кестеге жазба қосу кезінде барлық бағандарға ақпаратты енгізудің қажеті болмайтын жағдай туындайды. Ол үшін арнайы бос мән көрсеткіші пайдаланылады - NULL, ол көмек ретінде SQL тілін пайдаланады. Кестелер жасалған кезде толтыру қажет емес бағандардың деректер түрлері бос мәндерді қосуға мүмкіндік беретін мәлімдемемен көрсетіледі. Басқа жағдайда оператор NULL қосымша тіркемемен ЖОҚбарлық мәндерді толтыру қажет екенін көрсету үшін пайдалануға болады.

Көрсеткіш NULL түрі жоқ, бірақ жай ғана дерекқор кестелеріндегі бос мәнді көрсетеді. Сондықтан оны жоғарыда аталған түрлердің кез келгенімен біріктіруге болады.

Алдымен, «деректер түрлері» дегеніміз не екенін қарастырайық.
Деректер түрлері бағанда қандай мәндерді сақтауға болатынын және олардың жадта қанша орын алатынын анықтайды. Кестені жасаған кезде оның барлық бағандары үшін белгілі бір деректер түрін көрсету керек.
SQL тілінде қолданылатын негізгі типтерді бірнеше санатқа бөлуге болады:

  • Бүтін сандар;
  • Бөлшек түрлері;
  • Кейіпкерлер түрлері;
  • Ақша түрлері;
  • Уақытша типтер (күн/уақыт);

Бүтін мәліметтер типтері

Бөлшектік деректер түрлері

Таңба деректерінің түрі

Деректер түріСипаттама
CHAR(өлшемі)Жолдарды сақтау үшін қолданылады. Жақшадағы параметр сақталған жолдың ұзындығын түзетуге мүмкіндік береді. Жол үшін көрсетуге болатын байттағы ең үлкен өлшем - 255.
VARCHAR (өлшемі)Алдыңғы түрге ұқсас, ол ұзындығы 255 таңбаға дейінгі жолдарды сақтауға мүмкіндік береді. Дегенмен, CHAR-дан айырмашылығы жадтың қажетті көлемі осы түрдегі мәнді сақтау үшін бөлінген. Яғни, 5 таңбадан тұратын жол 6 байт жадты қажет етеді. Бірінші жағдайда мән үшін жады көрсетілген параметрге сәйкес бөлінеді.
NCHAR(өлшемі)Юникодтағы тұрақты ұзындықты жол деректері. n жолдың ұзындығын көрсетеді және 1 мен 4000 арасындағы мән болуы керек. Сақтау өлшемі байттағы өлшем мәнінен екі есе артық. Егер бағандардағы деректер элементтерінің өлшемдері ұқсас болады деп күтілсе, nchar пайдалану ұсынылады.
NVARCHAR
(өлшем|макс)
Юникодтағы айнымалы ұзындықтағы жол деректері. Өлшем жолдың ұзындығын көрсетеді және 1-ден 4000-ға дейінгі мәнге ие болуы мүмкін. Ең үлкен мән жадтың максималды өлшемі 2^31-1 таңба (2 ГБ) екенін көрсетеді. Егер бағандардағы деректер элементтерінің өлшемдері әртүрлі болады деп күтілсе, nvarchar пайдалану ұсынылады.
МӘТІНСервер код бетіндегі айнымалы ұзындықтағы Юникод емес деректер және жолдың максималды ұзындығы 2^31-1 (2,147,483,647).
NTEXTАйнымалы ұзындықтағы жолдың максималды ұзындығы 2^30 - 1 (1 073 741 823) байт болатын Юникод кодталған деректер.

Валюта деректерінің түрі

Уақыт түрлері (күн/уақыт)

Деректер түріСипаттама
КҮННегізгі мақсат – күнді ЖЫЛ-АЙ-КҮН («ЖЖЖЖ-АА-КК» немесе «уууу-мм-кг») пішімінде сақтау.
TIMEКесте ұяшығына уақытша мәндерді енгізуге мүмкіндік береді. Барлық мәндер «сағ:мм:сс» пішімінде көрсетілген.
DATETIMEАлдыңғы екі түрдің функцияларын біріктіреді. Сақтау пішімі келесідей ұсынылған: “уууу-мм-кг с:мм:сс”.
УАҚЫТ БЕЛГІСІ1970 жылдың 1 қаңтарындағы түн ортасынан бастап көрсетілген мәнге дейін өткен секундтар саны бойынша есептелген күн мен уақытты сақтайды.

Деректер түрлерін пайдалану мысалдары

SQL-де деректер түрлерін пайдаланудың мысалын қарастырайық.

Деректер түрлерін пайдалану мысалы

MySQL

CREATE TABLE тексерулері(id INT NOT NULL, Name VARCHAR (50) NOT NULL, DataToDay DATE NOT NULL, Cost FLOAT NOT NULL);

idесептегіш болып табылады (ол жеке тексеру нөмірін сақтайды), сондықтан ол бүтін деректер түріне жатады, сондықтан біз оны жасаймыз INTнемесе БҮТІН. НҰЛ ЕМЕСайнымалының бос болуы мүмкін еместігін көрсетеді.
IN АтыБіз өнімнің атауын сақтаймыз. Өйткені баған біз пайдаланатын таңбаларды сақтайды ВАРЧАР. Түрді көрсеткеннен кейін біз атау үшін жадты бөлеміз (біздің жағдайда бұл (50) ).
Келесі кесте бағандары ұқсас жолмен жасалған.

Әрбір дерекқор бағанының өз түрі бар, ол баған жасалған кезде көрсетіледі.

SQL стандарты келесі типтерді анықтайды:

1. символдық:

СИПАТ ( лен); CHAR( лен);

СИПАТТАУ ( лен); CHAR VARYING ( лен); VARCHAR( лен);

ҰЛТТЫҚ СИПАТ ( лен); ҰЛТТЫҚ CHAR ( лен); NCHAR ( лен);

ҰЛТТЫҚ СИПАТТЫҢ ӨТКЕНІ ( лен);

ҰЛТТЫҚ ХАР АРТТЫРУ ( лен); NCHAR VARYING ( лен);

2. екілік:

бит ( лен); БІЗГІЛІК ( лен);

3. сандық:

САН; DECIMAL; DEC; INTEGER; INT; SMALLINT;

FLOAT; REAL; ҚОС ДАЛДЫҚ;

4. күндер/уақыттар:

DATE; TIME; УАҚЫТ БЕЛДЕЙІМЕН УАҚЫТ;

Уақыт белгісі; УАҚЫТ БЕЛДЕМЕСІ БАР УАҚЫТ БЕЛГІСІ;

5. аралық: INTERVAL.

Таңба түрлері үшін пайдаланылатын таңбалар жиынын орнататын CHARACTER SET ( set_name | use_form) тіркесін көрсетуге болады.

Мұнда ең жиі қолданылатын деректер түрлерінің сипаттамасы берілген:

CHAR( сан) – тұрақты ұзындықтағы мәтіндік жол (барлық жол үшін жадта бос орын бөлінеді);

VARCHAR( сан) – сандық таңбалардан аспайтын айнымалы ұзындықтағы мәтіндік жол (диск кеңістігі жол ұзындығына байланысты бөлінеді);

INTEGER немесе INT – бүтін сан;

NUMERIC – жылжымалы нүкте саны, ондық таңбалардың санын анықтауға болады;

DECIMAL немесе DEC – өзгермелі нүкте саны, ең аз дәлдік мәнін орнатуға болады;

FLOAT – дәлдікті орнатуға мүмкіндік беретін жылжымалы нүкте саны (ондық таңбалардың саны);

REAL - дәлдігі іске асыру арқылы анықталған өзгермелі нүктелі сан;

DATE – күн түрі;

УАҚЫТ БОЙЫНША УАҚЫТ – белдеу уақытының ауысуын сипаттайтын өрістерді қамтитын уақыт түрі.

Күн мен уақытты сипаттайтын деректер түрлері күн мен уақыт бөліктерін сақтайтын бірнеше өрістерден тұрады.

Осылайша, DATE түрі YEAR, MONTH және DAY өрістерін қамтиды.

УАҚЫТ түрі САҒАТ, MINUTE және SECOND өрістерін қамтиды.

TIMESTAMP түрі күн мен уақыт өрістерін қамтиды.

TIMESTAMP түрінің мәні келесідей жазылады: "10.1.2003 08:30:00". Күнді жазу кезінде өрістердің реті әдетте компьютердің ОЖ параметрлерімен анықталады.

Күн/уақыт түріндегі деректермен жұмыс істеу үшін SQL тілі келесі функцияларды қамтамасыз етеді:

CURRENT_TIME – ағымдағы уақытты анықтайды;

CURRENT_DATE – ағымдағы күнді анықтайды;

CURRENT_TIMESTAMP – ағымдағы күн мен уақытты анықтайды.

Oracle деректер түрлері мен ANSI/ISO деректер түрлері арасындағы сәйкестік кестеде берілген

КҮН – б.з.б. 1-1-4712 жж. 31-12-4712 жж Деректер пішімі сервер параметрлерімен анықталады.



10-нұсқада IEEE754 стандартына сәйкес келетін деректер түрлері енгізілді - BINARY_FLOAT және BINARY_DOUBLE.

Ескерту. PL/SQL процедуралары ANSI-үйлесімді деректер түрлерін пайдалана алады: DEC(p,s), DECIMAL(p,s), INT, INTEGER, REAL, FLOAT(p), DOUBLE PRECISION.

Жоғарыда аталған скалярлық типтерден басқа құрама (агрегат) типті көрсетуге болады, мысалы, құрылым, жазба немесе жинақ. Сонымен қатар, сілтеме сияқты түрі бар.

Соңғы жаңарту: 07/12/2017

Кестені жасаған кезде оның барлық бағандары үшін белгілі бір деректер түрін көрсету керек. Деректер түрі бағанда қандай мәндерді сақтауға болатынын және олардың жадта қанша орын алатынын анықтайды.

T-SQL тілі көптеген әртүрлі типтерді ұсынады. Мағыналарының сипатына қарай олардың барлығын топтарға бөлуге болады.

Мәліметтердің сандық түрлері

    BIT: 0 немесе 1 мәнін сақтайды. Іс жүзінде бұл бағдарламалау тілдеріндегі логикалық типтің аналогы болып табылады. 1 байт алады.

    TINYINT: 0-ден 255-ке дейінгі сандарды сақтайды. 1 байтты алады. Шағын сандарды сақтау үшін жақсы.

    SMALLINT: –32,768-ден 32,767-ге дейінгі сандарды сақтайды

    INT: –2 147 483 648-ден 2 147 483 647-ге дейінгі сандарды сақтайды 4 байт. Сандарды сақтау үшін ең көп қолданылатын түрі.

    BIGINT: жадта 8 байт алатын -9,223,372,036,854,775,808-ден 9,223,372,036,854,775,807-ге дейінгі өте үлкен сандарды сақтайды.

    DECIMAL: бекітілген дәлдік сандарын сақтайды. Ондық бөлшектердің санына байланысты 5-тен 17 байтқа дейін уақыт алады.

    Бұл түр дәлдік пен масштабтың екі параметрін қабылдай алады: DECIMAL(дәлдік, масштаб) .

    Дәлдік параметрі сан сақтай алатын цифрлардың ең көп санын көрсетеді. Бұл мән 1 мен 38 арасында болуы керек. Әдепкі мән - 18.

    Масштаб параметрі ондық бөлшектен кейін санда болуы мүмкін цифрлардың ең көп санын білдіреді. Бұл мән 0-ден дәлдік параметрінің мәніне дейінгі аралықта болуы керек. Әдепкі бойынша ол 0.

    САНДЫҚ: Бұл түрі DECIMAL түріне ұқсас.

    SMALLMONEY: -214748,3648-ден 214748,3647-ге дейінгі бөлшек мәндерді сақтайды. Ақшалай құндылықтарды сақтауға арналған. 4 байт алады. DECIMAL(10,4) түріне баламалы.

    MONEY: -922,337,203,685,477,5808-ден 922,337,203,685,477,5807-ге дейінгі бөлшек мәндерді сақтайды. Ақшалай құндылықтарды білдіреді және 8 байтты алады. DECIMAL(19,4) түріне баламалы.

    FLOAT: –1,79E+308 бастап 1,79E+308 аралығындағы сандарды сақтайды. Бөлшек бөлігіне байланысты 4-тен 8 байтқа дейін уақыт алады.

    FLOAT(n) ретінде анықталуы мүмкін, мұнда n санның ондық бөлігін (мантисса) сақтау үшін пайдаланылатын биттердің санын білдіреді. Әдепкі n = 53.

    REAL : –340E+38 бастап 3,40E+38 аралығындағы сандарды сақтайды. 4 байт алады. FLOAT(24) түріне баламалы.

Сандық бағандардың мысалдары: Жалақы MONEY, Total Weight DECIMAL(9,2), Age INT, Profis FLOAT

Күн мен уақытты көрсететін деректер түрлері

    КҮНІ: 0001-01-01 (0001 жылғы 1 қаңтар) бастап 9999-12-31 (31 желтоқсан, 9999) аралығындағы дүкендер. 3 байт алады.

    УАҚЫТ: Уақытты 00:00:00.0000000 мен 23:59:59,9999999 аралығында сақтайды. 3-тен 5 байтқа дейін қабылдайды.

    TIME(n) пішіні болуы мүмкін, мұндағы n бөлшек секундтарда 0-ден 7-ге дейінгі сандар санын білдіреді.

    DATETIME: 01/01/1753 және 31/12/9999 аралығындағы күндер мен уақыттарды сақтайды. 8 байт алады.

    DATETIME2: Күндер мен уақыттарды 01/01/0001 00:00:00.0000000 және 31/12/9999 23:59:59.9999999 аралығында сақтайды. Уақыттың дәлдігіне байланысты 6-дан 8 байтқа дейін алады.

    DATETIME2(n) пішіні болуы мүмкін, мұндағы n бөлшек секундтарда 0-ден 7-ге дейінгі сандар санын білдіреді.

    SMALLDATETIME: 01/01/1900 мен 06/06/2079 аралығындағы күндер мен уақыттарды, яғни ең жақын күндерді сақтайды. 4 байттан алады.

    DATETIMEOFFSET: 0001-01-01 мен 9999-12-31 аралығындағы күндер мен уақыттарды сақтайды. Уақыт туралы толық ақпаратты 100 наносекунд дәлдігімен сақтайды. 10 байт алады.

Жалпы күн пішімдері:

    жжжж-мм-кк - 12.07.2017

    кк/а/жжж - 12.07.2017 ж

    мм-кк-жж - 07-12-17

    Бұл пішімде 00-ден 49-ға дейінгі екі таңбалы сандар 2000-2049 аралығындағы күндер ретінде қарастырылады. Ал 50-ден 90-ға дейінгі сандар 1950 - 1999 сандарының диапазоны сияқты.

    Ай gg, yyyy - 12 шілде 2017 ж

Жалпы уақыт форматтары:

  • сағ: 00/00 - 13:21

    сағ:ми:сс - 1:21:34

    сағ:ми:сс:мм - 1:21:34:12

    hh:mi:ss:nnnnnnnn - 1:21:34:1234567

Жолдық деректер түрлері

    CHAR: ұзындығы 1 және 8000 таңба арасындағы жолды сақтайды. Әрбір таңба үшін 1 байт бөледі. Көптеген тілдер үшін жарамсыз, себебі ол Юникод емес таңбаларды сақтайды.

    Баған сақтай алатын таңбалар саны жақша ішінде беріледі. Мысалы, CHAR(10) түрі бар баған 10 байтты бөледі. Ал бағанда 10 таңбадан аз жолды сақтасақ, ол бос орындармен толтырылады.

    VARCHAR: жолды сақтайды. Әрбір таңбаға 1 байт бөлінеді. Баған үшін белгілі бір ұзындықты көрсетуге болады - 1-ден 8000 таңбаға дейін, мысалы, VARCHAR(10) . Егер жолда 8000 таңбадан көп болуы керек болса, онда өлшем MAX мәніне орнатылады және жолды сақтау үшін 2 ГБ дейін бөлуге болады: VARCHAR(MAX) .

    Көптеген тілдер үшін жарамсыз, себебі ол Юникод емес таңбаларды сақтайды.

    CHAR түрінен айырмашылығы, егер VARCHAR(10) түрі бар бағанда 5 таңбадан тұратын жол сақталса, онда дәл бес таңба бағанда сақталады.

    NCHAR: ұзындығы 1-4000 таңбадан тұратын Юникод жолын сақтайды. Әр таңбаға 2 байт бөлінеді. Мысалы, NCHAR(15)

    NVARCHAR: Юникодпен кодталған жолды сақтайды. Әрбір таңба үшін 2 байт бөлінген. 1-ден 4000 таңбаға дейін белгілі бір өлшемді орнатуға болады: . Жолда 4000 таңбадан көп болуы керек болса, өлшем MAX мәніне орнатылады және жолды сақтау үшін 2 ГБ-қа дейін бөлуге болады.

Тағы екі түрі, TEXT және NTEXT, ескірген, сондықтан ұсынылмайды. Оның орнына сәйкесінше VARCHAR және NVARCHAR қолданылады.

Жол бағандарын анықтау мысалдары:

Электрондық пошта VARCHAR(30), түсініктеме NVARCHAR(MAX)

Екілік деректер түрлері

    BINARY: екілік деректерді 1-ден 8000 байтқа дейінгі реттілік ретінде сақтайды.

    VARBINARY : екілік деректерді 1-ден 8000 байтқа дейін немесе MAX мәнін пайдаланған кезде 2^31–1 байтқа дейін (VARBINARY(MAX)) реттілікпен сақтайды.

Басқа екілік түрі, IMAGE түрі ескірген, оның орнына VARBINARY түрін пайдалану ұсынылады.

Басқа деректер түрлері

    UNIQUEIDENTIFIER: 16 байтты алатын бірегей GUID (негізінде бірегей мәні бар жол).

    TIMESTAMP: кестедегі жолдың нұсқа нөмірін сақтайтын кейбір сан. 8 байт алады.

    КУРСОР: Жолдар жиынын көрсетеді.

    IEARCHYID: Иерархиядағы позицияны көрсетеді.

    SQL_VARIANT: кез келген басқа T-SQL деректер түрінің деректерін сақтай алады.

    XML: XML құжаттарын немесе XML құжаттарының фрагменттерін сақтайды. 2 ГБ дейін жадты алады.

    TABLE: Кесте анықтамасын көрсетеді.

    ГЕОГРАФИЯ: ендік және бойлық сияқты географиялық деректерді сақтайды.

    ГЕОМЕТРИЯ : жазықтықтағы орын координаталарын сақтайды.



Бөлісу