SQL Server -datatyper

SQL Server -datatyper

Datatyper er et grunnleggende konsept når du jobber med databaser. I SQL Server omfatter hver kolonne, variabel, uttrykk eller parameter en spesifikk datatype. Derfor er det veldig viktig å forstå hvilke datatyper, forskjellige datatyper og hvordan du bruker dem.

I denne omfattende guiden lærer du om grunnleggende datatyper i SQL Server og forskjellige scenarier du kan bruke dem.

Krav

For å følge med med denne guiden og sikre maksimal kompatibilitet, må du forsikre deg om at du har:

  1. Microsoft SQL Server 2017 og over.
  2. MS SQL Server Management Studio.
  3. Eksempel på databasen som WideWorldimporters Database.

Hva er en datatype?

Vi definerer en datatype som et attributt som bestemmer hvilken type data som holdes av et spesifikt objekt. Enkelt sagt dikterer en datatype hva slags verdi objektet vil holde. For eksempel, hvis vi angir datatypen til en spesifikk kolonne til å være et heltall, er de eneste verdiene som er lagret i kolonnen av heltallstype.

SQL Server gir forskjellige datatyper, som diskutert i denne guiden.

SQL Server -datatypekategorier

Vi kan klassifisere SQL Server -datatyper i forskjellige hovedkategorier som:

  1. Eksakte numeriske typer
  2. Omtrentlig numeriske typer
  3. Dato og tidsdatatyper
  4. Karakterstrenger
  5. Binære strenger
  6. Unicode -karakterstrenger
  7. Andre datatyper

La oss se på hver kategori og beskrive forskjellige datatyper.

Eksakte numeriske typer

Som navnet antyder, lagrer de eksakte numeriske typene eksakte numeriske verdier, for eksempel heltall, desimaler og monetære verdier. Hver numerisk type inneholder en minimums- og maksimumsverdi den kan lagres. Små datatyper er nyttige når du trenger å spare minne, mens store datatyper er nyttige for å lagre store verdier i utgifter for minne.

Følgende tabell viser de nøyaktige numeriske datatypene og deres min, maks og lagringsverdier.

Type Min Maks Oppbevaring
Int -2147483648 2147483647 4 byte
Bigint -9223372036854775808 9223372036854775807 8 byte
Bit 0 1 1 byte
Desimal −10^38+1 0^381−1 Avhenger av presisjon

1 - 9 (5 byte)

10 - 19 (9 byte)

20 - 28 (13 byte)

29 - 38 (17 byte)

Penger -922337203685477.5808 922337203685477.5807 8 byte
Numerisk −10^38+1 10^381−1 Avhengig av presisjon, 5 - 17 byte
SmallInt -32768 32767 2 byte
Smallmoney - 214748.3648 214748.3647 4 byte
Tinyint 0 255 2 byte

Det er en utmerket beslutning om å huske på den beste typen, avhengig av dine behov.

Omtrentlig numeriske typer

Omtrentlige typer brukes til å lagre flytende punktverdier. De finnes ofte i presisjonskritiske miljøer som vitenskapelige beregninger.

Tabellen nedenfor viser typene og deres min, maks og lagringsstørrelse.

Type Min Maks Oppbevaring
FLOAT (N) - 1.79E+308 1.79E+308 Være utsatt for verdi på n
ekte −3.40E+38 3.40E+38 4 byte

Dato og tidsdatatyper

Dato og klokkeslett for datatyper brukes til dags dato og klokkeslettinformasjon.

Type Min Maks Oppbevaring
Dato 0001-01-01 9999-12-31 3 byte
DateTime2 0001-01-01 9999-12-31 6 byte
Dato tid 1753-01-01 9999-12-31 8 byte
tid 00:00:00.0000000 23:59:59.9999999 5 byte
SmallDateTime 1900-01-01 2079-06-06 4 byte
DateTimeOffset 0001-01-01 9999-12-31 10 byte

Karakterstrengtyper

Karakterstrengtyper brukes til å lagre fast lengde eller variabel lengde tegn.

Type Min Maks Oppbevaring
Char (N) 0 Chars 8000 chars N byte
VARCHAR 0 Chars 8000 chars N + 2 byte
Varchar (maks) 0 Chars 2^31 Chars N + 2 byte
tekst 0 Chars 2147483647 Chars N + 4 byte

Binære strengtyper

Brukes til å lagre binære datatyper av fast og variabel lengde.

Type Min Maks Oppbevaring
binær 0 byte 8000 byte N byte
Varbinary 0 byte 8000 byte Lengde på data + 2 byte
bilde 0 byte 2147483647 byte

Bildedatatypen er utdatert i noen versjoner av SQL Server.

Unicode -karakterstrenger

Lagrer fast eller variabel lengde Unicode -data.

Type Min Maks Oppbevaring
nchar 0 Chars 4000 chars 2 * n byte
nvarchar 0 Chars 4000 chars 2 * n byte
ntext 0 Chars 1073741823 Chars 2 * Strengde

Andre datatyper

SQL Server gir andre datatyper for spesifikke brukssaker. Eksempler inkluderer:

  1. Markør - brukes til å lagre variabler brukt i en markørreferanse.
  2. XML - Brukes til å inneholde XML -data
  3. Unik identifikator - Lagrer 16 byte guidverdi

Du kan lære mer om andre datatyper i ressursen som er gitt.

Lukking

Denne guiden lærte deg det grunnleggende om SQL Server -datatyper, deres minimums-, maksimums- og lagringsverdier. Bruk denne informasjonen til å bestemme den beste datatypen for databasenes behov.