„SQL Server DataTypes“: „Varchar“, „Skaitinis“, „Data“ laikas („T-SQL“ pavyzdžiai)

Turinys:

Anonim

Kas yra duomenų tipas?

Duomenų tipas apibrėžiamas kaip duomenų, kuriuos bet kuris stulpelis ar kintamasis gali saugoti „MS SQL Server“, tipas.

Kuriant bet kokią lentelę ar kintamąjį, be vardo nurodymo, jūs taip pat nustatote duomenų tipą, kurį jis išsaugos.

Kaip naudoti MS SQL duomenų tipą

  • Turite iš anksto apibrėžti, kokio tipo duomenis gali išsaugoti stulpelis ar kintamasis. Duomenų tipo nustatymas taip pat draudžia vartotojui įvesti netikėtus ar neteisingus duomenis.
  • Galite efektyviai naudoti atmintį, priskirdami kintamajam ar stulpeliui tinkamą duomenų tipą, kuris atitinkamo stulpelio duomenims skirs tik reikiamą sistemos atminties kiekį.
  • MS SQL siūlo platų duomenų tipų kategoriją pagal vartotojo poreikius. Kaip data, dvejetainiai vaizdai ir kt.

Šioje pamokoje sužinosite:

  • Kas yra duomenų tipas?
    • Kaip naudoti MS SQL duomenų tipą
  • Kodėl naudoti DataTypes?
    • Tiksli skaitinė
    • Apytikslis skaitinis
    • Data ir laikas
    • Simbolių eilutės
    • „Unicode“ simbolių eilutės
    • Dvejetainė eilutė
    • Kiti duomenų tipai

Kodėl naudoti DataTypes?

Paimkime paprasto svetainės programos Prisiregistravimo puslapio pavyzdį. Trys įvesties laukai yra vardas, pavardė ir kontaktinis numeris.

Čia turėtume atkreipti dėmesį, kad realiuoju laiku:

  • „Vardas / pavardė“ visada bus abėcėlės tvarka .
  • „Kontaktas“ visada bus skaitinis .

  • Iš aukščiau pateikto paveikslėlio verta apibrėžti „Vardas / pavardė“ kaip simbolį, o Kontaktas“ - kaip sveikąjį skaičių .

Akivaizdu, kad bet kurioje programoje visuose laukuose yra vieno ar kito tipo duomenys. Pvz., Skaitiniai, abėcėlės, datos ir daug daugiau.

Taip pat atkreipkite dėmesį, kad skirtingiems duomenų tipams reikalingi skirtingi atminties reikalavimai. Todėl prasmingiau apibrėžti stulpelį ar kintamąjį su duomenų tipu, kuris bus naudojamas efektyviam atminties naudojimui.

Duomenų tipas galimas MS SQL

MS SQL serveris palaiko šias duomenų tipo kategorijas:

  • Tikslus skaitmeninis
  • Apytikslis skaitinis
  • Data ir laikas
  • Simbolių eilutės
  • Unicode simbolių eilutės
  • Dvejetainės eilutės
  • Kiti duomenų tipai
MSQL duomenų tipai

Tiksli skaitinė

Tikslus skaitmuo turi devynis subduomenų tipus. Tikslūs skaitiniai duomenų tipai

Duomenų tipas apibūdinimas Apatinė riba Viršutinis limitas Atmintis
bigint Jis saugo sveikus skaičius nurodytame diapazone −2 63 (−9,223,372, 036,854,775,808) 2 63−1 (−9,223,372, 036,854,775,807) 8 baitai
tarpt Jis saugo sveikus skaičius nurodytame diapazone −2 31 (−2,147, 483,648) 2 31−1 (−2,147, 483,647) 4 baitai
smallint Jis saugo sveikus skaičius nurodytame diapazone −2 15 (−32 767) 2 15 (−32 768) 2 baitai
tinyint Jis saugo sveikus skaičius nurodytame diapazone 0 255 1 baitas
šiek tiek Tai gali užimti 0, 1 arba NULL reikšmes. 0 1 1 baitų / 8 bitų stulpelis
po kablelio Naudojamas masteliams ir fiksuoto tikslumo skaičiams −10 38 + 1 10 381−1 5–17 baitų
skaitinis Naudojamas masteliams ir fiksuoto tikslumo skaičiams −10 38 + 1 10 381−1 5–17 baitų
pinigų Panaudoti piniginiai duomenys −922,337, 203, 685,477,5808 +922,337, 203, 685,477,5807 8 baitai
mažasis pinigėlis Panaudoti piniginiai duomenys −214 478,3648 +214 478 3664 4 baitai

Pavyzdžiai:

Užklausa:

DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int

Išvestis: 2

Sintaksė: dešimtainis (P, S)

Čia

  • P yra tikslumas
  • S yra mastelis

Užklausa:

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

Rezultatas: 2.31

Apytikslis skaitinis

Apytikslė skaitinė kategorija apima slankiojo kablelio ir tikrąsias reikšmes. Jie dažniausiai naudojami atliekant mokslinius skaičiavimus. Apytikslis skaitmeninis duomenų tipas

Duomenų tipas apibūdinimas Apatinė riba Viršutinis limitas Atmintis Tikslumas
plūdė (n) Naudojamas plaukiojančiam tikslumo skaičiui -1,79E + 308 1,79E + 308 Priklauso nuo n vertės 7 skaitmenų
tikras Naudojamas plaukiojančiam tikslumo skaičiui –3,40E + 38 3.40E + 38 4 baitai 15 skaitmenų
Syntax: FLOAT [(n)] 

Čia n yra bitų, naudojamų plūdinio skaičiaus mantisai saugoti , mokslinis žymėjimas. Pagal numatytuosius nustatymus n vertė yra 53.

Kai vartotojas apibrėžia duomenų tipą, pvz., „Float“, n reikšmė turėtų būti nuo 1 iki 53.

„SQL Server“ traktuoja n kaip vieną iš dviejų galimų reikšmių. Jei 1 <= n <= 24, n traktuojamas kaip 24. Jei 25 <= n <= 53, n laikomas 53.

Užklausos pavyzdys:

DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float

Išvestis: 22.1234

Data ir laikas

Jame saugomi tipo ir datos duomenys. Datos ir laiko duomenų tipas

Duomenų tipas apibūdinimas Saugyklos dydis Tikslumas Žemesnis diapazonas Aukštutinis diapazonas
DateTime Naudojamas nurodant datą ir laiką nuo 1753 m. Sausio 1 d. Iki 9999 m. Gruodžio 31 d. Jo tikslumas yra 3,33 milisekundės. 8 baitai Suapvalinta iki .000, .003, .007 žingsnių 1753-01-01 9999-12-31
smalldatetime Naudojamas nurodant datą ir laiką nuo 0001 m. Sausio 1 d. Iki 9999 m. Gruodžio 31 d. Jo tikslumas yra 100 nanosekundžių 4 baitai, fiksuoti 1 minutę 1900-01-01 2079-06-06
data Naudota tik saugoti datą nuo 0001 m. Sausio 1 d. Iki 9999 m. Gruodžio 31 d 3 baitai, fiksuoti 1 diena 0001-01-01 9999-12-31
laikas Naudojamas tik laiko vertėms saugoti 100 nanosekundžių tikslumu. 5 baitai 100 nanosekundžių 00: 00: 00.0000000 23: 59: 59.9999999
datetimeoffset Panašus į duomenų laiką, tačiau turi laiko juostos poslinkį 10 baitų 100 nanosekundžių 0001-01-01 9999-12-31
datos laikas2 Naudojamas nurodant datą ir laiką nuo 0001 m. Sausio 1 d. Iki 9999 m. Gruodžio 31 d 6 baitai 100 nanosekundžių 0001-01-01 9999-12-31

Užklausos pavyzdys:

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

Išvestis: „2030-01-01“

Simbolių eilutės

Ši kategorija yra susijusi su simbolių tipu. Tai leidžia vartotojui nustatyti simbolio, kuris gali būti fiksuoto ir kintamo ilgio, duomenų tipą. Jame yra keturių rūšių duomenys. Simbolių eilutės duomenų tipai

Duomenų tipas apibūdinimas Apatinė riba Viršutinis limitas Atmintis
char Tai fiksuoto pločio simbolių eilutė. Joje saugoma daugiausia 8000 simbolių. 0 simbolių 8000 simbolių n baitų
varcharas Tai kintamo pločio simbolių eilutė 0 simbolių 8000 simbolių n baitai + 2 baitai
varcharas (maks.) Tai kintamo pločio simbolių eilutė. Joje saugoma daugiausia 1 073 741 824 simboliai. 0 simbolių 2 31 simboliai n baitai + 2 baitai
tekstas Tai kintamo pločio simbolių eilutė. Joje saugoma ne daugiau kaip 2 GB teksto duomenų. 0 simbolių 2 147 483 647 simboliai n baitai + 4 baitai

Užklausos pavyzdys:

DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char

Išvestis: Tai simbolių duomenų tipas

„Unicode“ simbolių eilutės

Ši kategorija saugo visą „Unicode“ simbolių diapazoną, kuriame naudojamas UTF-16 simbolių kodavimas. „Unicode“ simbolių eilutės duomenų tipai

Duomenų tipas apibūdinimas Apatinė riba Viršutinis limitas Atmintis
ncharas Tai fiksuoto pločio „Unicode“ eilutė 0 simbolių 4000 simbolių 2 kartus n baitų
nvarcharas Tai kintamo pločio unicode eilutė 0 simbolių 4000 simbolių 2 kartus n baitai + 2 baitai
ntekstas Tai kintamo pločio unicode eilutė 0 simbolių 1 073 741 823 char 2 kartus didesnis už stygos ilgį

Užklausos pavyzdys:

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

Išvestis: Tai nCharacter duomenų tipas

Dvejetainė eilutė

Šioje kategorijoje yra fiksuoto ir kintamo ilgio dvejetainė eilutė. Dvejetainių eilučių duomenų tipai

Duomenų tipas apibūdinimas Apatinė riba Viršutinis limitas Atmintis
dvejetainis Tai fiksuoto pločio dvejetainė eilutė. Joje saugoma daugiausia 8000 baitų. 0 baitų 8000 baitų n baitų
kintamasis Tai yra kintamo pločio dvejetainė eilutė. Joje saugoma daugiausia 8000 baitų 0 baitų 8000 baitų Faktinis įvestų duomenų ilgis + 2 baitai
vaizdas Tai yra kintamo pločio dvejetainė eilutė. Joje saugoma daugiausia 2 GB. 0 baitų 2 147 483 647 baitai

Užklausos pavyzdys:

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

Išvestis: 0x000C

Kiti duomenų tipai

Tai yra kiti skirtingi duomenų tipai, kurių aprašymas pateiktas žemiau-

Duomenų tipas apibūdinimas
Žymeklis Jo išvestis yra sp_cursor_list ir sp_describe_cursor stulpeliai. Jis grąžina žymeklio kintamojo pavadinimą.
Eilės versija Jo versija antspauduoja lentelių eilutes.
Hierarchyidas Šis duomenų tipas nurodo poziciją hierarchijoje
Unikalus identifikatorius Konversija iš simbolio išraiškos.
Sql_variant Jame saugomos SQL serverio palaikomų duomenų tipų vertės.
XML Jis saugo XML duomenis stulpelyje.
Erdvinės geometrijos tipas Tai rodo duomenis plokščioje koordinačių sistemoje.
Erdvinės geografijos tipas Tai rodo duomenis apvaliosios žemės koordinačių sistemoje.
stalo Jame saugomas rezultatų rinkinys, skirtas vėliau apdoroti.

Įdomūs faktai!

  • Gaunant duomenis CHAR duomenų tipas yra greitesnis nei VARCHAR.

Santrauka:

  • Kiekvienas lentelių stulpelis apibrėžia savo duomenų tipą kuriant lentelę.
  • Yra šešios pagrindinės kategorijos ir viena kita įvairi kategorija. Kiti įvairūs turi devynias duomenų tipų subkategorijas.