Kas ir datu tips?
Datu tips ir definēts kā tādu datu tips, kurus jebkura kolonna vai mainīgais var saglabāt MS SQL Server.
Veidojot jebkuru tabulu vai mainīgo, papildus nosaukuma norādīšanai jūs iestatāt arī datu tipu, ko tas saglabās.
Kā izmantot MS SQL datu tipu
- Iepriekš jānosaka, kāda veida datus kolonna vai mainīgais var saglabāt. Datu veida noteikšana arī neļauj lietotājam ievadīt neparedzētus vai nederīgus datus.
- Varat efektīvi izmantot atmiņu, piešķirot mainīgajam vai kolonnai atbilstošu datu tipu, kas attiecīgās kolonnas datiem piešķirs tikai nepieciešamo sistēmas atmiņas daudzumu.
- MS SQL piedāvā plašu datu tipu kategoriju atbilstoši lietotāja vajadzībām. Piemēram, datums, bināri attēli utt.
Šajā apmācībā jūs uzzināsiet:
- Kas ir datu tips?
- Kā izmantot MS SQL datu tipu
- Kāpēc izmantot DataTypes?
- Precīzs cipars
- Aptuvenais skaitliskais
- Datums un laiks
- Rakstzīmju virknes
- Unicode rakstzīmju virknes
- Binārā virkne
- Citi datu tipi
Kāpēc izmantot DataTypes?
Paņemsim vienkāršas vietnes lietojumprogrammas reģistrēšanās lapas paraugu. Trīs ievades lauki ir Vārds, Uzvārds un Kontaktpersonas numurs.
Šeit mums jāatzīmē, ka reāllaikā:
- “Vārds / uzvārds” vienmēr būs alfabēta .
- "Kontaktpersona" vienmēr būs skaitliska .
- No iepriekš minētā attēla ir vērts definēt "Vārds / Uzvārds" kā rakstzīmi un " Kontaktpersona" kā vesels skaitlis .
Ir skaidrs, ka jebkurā lietojumprogrammā visos laukos ir viens vai otrs datu veids. Piemēram, ciparu, alfabēta, datuma un daudz kas cits.
Ņemiet vērā arī to, ka dažādiem datu tipiem ir atšķirīga atmiņas prasība. Tāpēc ir lietderīgāk kolonnu vai mainīgo definēt ar datu tipu, kas tam būs, lai efektīvi izmantotu atmiņu.
Datu tips ir pieejams MS SQL
MS SQL serveris atbalsta šādas datu tipa kategorijas:
- Precīzs cipars
- Aptuvenais skaitliskais
- Datums un laiks
- Rakstzīmju virknes
- Unicode rakstzīmju virknes
- Binārās virknes
- Citi datu veidi

Precīzs cipars
Precīzam skaitlim ir deviņi apakšdatu tipu veidi. Precīzi skaitliskie datu tipi
Datu tips | Apraksts | Apakšējā robeža | Augšējā robeža | Atmiņa |
---|---|---|---|---|
bigint | Tas saglabā veselus skaitļus norādītajā diapazonā | −2 63 (−9,223,372, 036,854,775,808) | 2 63-1 (−9,223,372, 036,854,775,807) | 8 baiti |
int | Tas saglabā veselus skaitļus norādītajā diapazonā | −2 31 (−2,147, 483,648) | 2 31-1 (−2,147, 483,647) | 4 baiti |
maziņš | Tas saglabā veselus skaitļus norādītajā diapazonā | −2 15 (−32 767) | 2 15 (−32 768) | 2 baiti |
tinyint | Tas saglabā veselus skaitļus norādītajā diapazonā | 0 | 255 | 1 baits |
mazliet | Tam var būt 0, 1 vai NULL vērtības. | 0 | 1 | 1 baita / 8 bitu kolonna |
aiz komata | Izmanto mērogiem un fiksētiem precizitātes numuriem | −10 38 + 1 | 10 381−1 | 5 līdz 17 baiti |
ciparu | Izmanto mērogiem un fiksētiem precizitātes numuriem | −10 38 + 1 | 10 381−1 | 5 līdz 17 baiti |
naudu | Izmantoti monetārie dati | −922,337, 203, 685,477,5808 | +922,337, 203, 685,477,5807 | 8 baiti |
sīknauda | Izmantoti monetārie dati | −214 478,3648 | +214 478 3664 | 4 baiti |
Piemēri:
Vaicājums:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Izeja: 2
Sintakse: decimāldaļa (P, S)
Šeit,
- P ir precizitāte
- S ir mērogs
Vaicājums:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Rezultāts: 2,31
Aptuvenais skaitliskais
Aptuvenā skaitliskā kategorija ietver peldošo punktu un reālās vērtības. Tos galvenokārt izmanto zinātniskos aprēķinos. Aptuvenais skaitlisko datu tips
Datu tips | Apraksts | Apakšējā robeža | Augšējā robeža | Atmiņa | Precizitāte |
---|---|---|---|---|---|
pludiņš (n) | Izmanto peldoša precizitātes skaitlim | -1,79E + 308 | 1,79E + 308 | Atkarīgs no n vērtības | 7 cipari |
īsts | Izmanto peldoša precizitātes skaitlim | −3,40E + 38 | 3.40E + 38 | 4 baiti | 15 cipars |
Syntax: FLOAT [(n)]
Šeit n ir bitu skaits, ko izmanto, lai zinātniskajā apzīmējumā uzglabātu pludiņa skaitļa mantisu. Pēc noklusējuma n vērtība ir 53.
Kad lietotājs definē tādu datu tipu kā pludiņš, n vērtībai jābūt starp 1 un 53.
SQL Server traktē n kā vienu no divām iespējamām vērtībām. Ja 1 <= n <= 24, n tiek uzskatīts par 24. Ja 25 <= n <= 53, n tiek uzskatīts par 53.
Vaicājuma piemērs:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Rezultāts: 22.1234
Datums un laiks
Tajā tiek glabāti datuma un laika tipa dati. Datuma un laika datu tips
Datu tips | Apraksts | Krātuves lielums | Precizitāte | Zemāks diapazons | Augšējais diapazons |
---|---|---|---|---|---|
Datums Laiks | Izmanto, lai norādītu datumu un laiku no 1753. gada 1. janvāra līdz 9999. gada 31. decembrim. Tā precizitāte ir 3,33 milisekundes. | 8 baiti | Noapaļots līdz .000, .003, .007 | 1753-01-01 | 9999-12-31 |
mazs datums | Izmanto, lai norādītu datumu un laiku no 0001. gada 1. janvāra līdz 9999. gada 31. decembrim. Tā precizitāte ir 100 nanosekundes | 4 baiti, fiksēti | 1 minūte | 1900-01-01 | 2079-06-06 |
datums | Izmanto, lai uzglabātu tikai datumu no 0001. Gada 1. janvāra līdz 9999. Gada 31. decembrim | 3 baiti, fiksēti | 1 diena | 0001-01-01 | 9999-12-31 |
laiks | Izmanto tikai laika vērtību glabāšanai ar precizitāti 100 nanosekundes. | 5 baiti | 100 nanosekundes | 00: 00: 00.0000000 | 23: 59: 59.9999999 |
datetimeoffset | Līdzīgs datuma laikam, bet tam ir laika joslas nobīde | 10 baiti | 100 nanosekundes | 0001-01-01 | 9999-12-31 |
datuma laiks2 | Izmanto, lai norādītu datumu un laiku no 0001. gada 1. janvāra līdz 9999. gada 31. decembrim | 6 baiti | 100 nanosekundes | 0001-01-01 | 9999-12-31 |
Vaicājuma piemērs:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Rezultāts: '2030-01-01'
Rakstzīmju virknes
Šī kategorija ir saistīta ar rakstzīmju tipu. Tas ļauj lietotājam noteikt rakstzīmju datu tipu, kas var būt fiksēts un mainīga garuma. Tam ir četru veidu datu veidi. Rakstzīmju virkņu datu tipi
Datu tips | Apraksts | Apakšējā robeža | Augšējā robeža | Atmiņa |
---|---|---|---|---|
char | Tā ir rakstzīmju virkne ar fiksētu platumu. Tajā ir ne vairāk kā 8000 rakstzīmes. | 0 rakstzīmes | 8000 rakstzīmes | n baiti |
varchar | Šī ir rakstzīmju virkne ar mainīgu platumu | 0 rakstzīmes | 8000 rakstzīmes | n baiti + 2 baiti |
varchar (maks.) | Šī ir rakstzīmju virkne ar mainīgu platumu. Tajā ir ne vairāk kā 1 073 741 824 rakstzīmes. | 0 rakstzīmes | 2 31 rakstzīmes | n baiti + 2 baiti |
tekstu | Šī ir rakstzīmju virkne ar mainīgu platumu. Tajā tiek glabāti ne vairāk kā 2 GB teksta datu. | 0 rakstzīmes | 2 147 483 647 rakstzīmes | n baiti + 4 baiti |
Vaicājuma piemērs:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Izeja: tas ir rakstzīmju datu tips
Unicode rakstzīmju virknes
Šajā kategorijā tiek glabāts viss Unicode rakstzīmju diapazons, kurā tiek izmantots UTF-16 rakstzīmju kodējums. Unicode rakstzīmju virknes datu tipi
Datu tips | Apraksts | Apakšējā robeža | Augšējā robeža | Atmiņa |
---|---|---|---|---|
nchar | Tā ir fiksēta platuma unikoda virkne | 0 rakstzīmes | 4000 rakstzīmes | 2 reizes n baiti |
nvarchar | Tā ir maināma platuma unikoda virkne | 0 rakstzīmes | 4000 rakstzīmes | 2 reizes n baiti + 2 baiti |
nteksts | Tā ir maināma platuma unikoda virkne | 0 rakstzīmes | 1 073 741 823 char | 2 reizes lielāks par virknes garumu |
Vaicājuma piemērs:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Izeja: tas ir nCharacter datu tips
Binārā virkne
Šajā kategorijā ietilpst fiksēta un mainīga garuma binārā virkne. Bināro virkņu datu tipi
Datu tips | Apraksts | Apakšējā robeža | Augšējā robeža | Atmiņa |
---|---|---|---|---|
binārs | Tā ir fiksēta platuma binārā virkne. Tajā tiek glabāti ne vairāk kā 8000 baiti. | 0 baiti | 8000 baiti | n baiti |
varbinārais | Šī ir mainīga platuma binārā virkne. Tajā tiek glabāti ne vairāk kā 8000 baiti | 0 baiti | 8000 baiti | Faktiskais ievadīto datu garums + 2 baiti |
attēls | Šī ir mainīga platuma binārā virkne. Tajā tiek glabāti ne vairāk kā 2 GB. | 0 baiti | 2 147 483 647 baiti |
Vaicājuma piemērs:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Izeja: 0x000C
Citi datu tipi
Tie ir citi dažādi datu tipi ar aprakstu zemāk-
Datu tips | Apraksts |
---|---|
Kursors | Tās izeja ir sp_cursor_list un sp_describe_cursor kolonna. Tas atgriež kursora mainīgā nosaukumu. |
Rindas versija | Tā versija apzīmogo tabulas rindas. |
Hierarhīds | Šis datu tips attēlo pozīciju hierarhijā |
Unikāls identifikators | Pārveidošana no rakstzīmju izteiksmes. |
Sql_variant | Tajā tiek glabātas SQL servera atbalstīto datu tipu vērtības. |
XML | Tas glabā XML datus kolonnā. |
Telpiskās ģeometrijas tips | Tas atspoguļo datus plakanā koordinātu sistēmā. |
Telpiskās ģeogrāfijas tips | Tas atspoguļo apaļās zemes koordinātu sistēmas datus. |
tabula | Tas saglabā rezultātu kopu vēlākai apstrādei. |
Interesanti fakti!
- Datu izguves laikā CHAR datu tips ir ātrāks nekā VARCHAR.
Kopsavilkums:
- Katra tabulu kolonna tabulas izveides laikā nosaka tās datu tipu.
- Ir sešas galvenās kategorijas un vēl viena cita kategorija. Citiem dažādiem ir pieejamas deviņas datu veidu apakškategorijas.