SQL Server-datatyper med exempel

Vad รคr datatyp?

A Data typ i SQL server definieras som den typ av data som vilken kolumn eller variabel som helst kan lagra. Det รคr en typ av data som ett objekt innehรฅller som heltal, tecken, strรคng, etc. Nรคr du skapar en tabell eller variabel, fรถrutom att ange namnet, stรคller du ocksรฅ in vilken typ av data den ska lagra.

Hur man anvรคnder MS SQL-datatypen

  • Du mรฅste i fรถrvรคg definiera vilken typ av data en kolumn eller variabel kan lagra. Att faststรคlla datatyp begrรคnsar ocksรฅ anvรคndaren frรฅn att ange ovรคntade eller ogiltiga data.
  • Du kan anvรคnda minnet effektivt genom att tilldela en lรคmplig datatyp till variabel eller kolumn som endast tilldelar den erforderliga mรคngden systemminne fรถr respektive kolumns data.
  • MS SQL erbjuder en bred kategori av grundlรคggande datatyper i SQL enligt anvรคndarens behov som datum, binรคra bilder, etc.

Varfรถr anvรคnda DataTypes?

Lรฅt oss ta ett exempel pรฅ enkla Registrera sidan av webbplatsansรถkan. Tre inmatningsfรคlt รคr fรถrnamn, efternamn och kontaktnummer.

Hรคr bรถr vi notera att i realtid:

  • "Fรถr-& efternamn" kommer alltid att vara alfabetisk.
  • "Kontakt" kommer alltid att vara numerisk.
SQL Server-datatyper
Exempel pรฅ datatyper i MS SQL
  • Frรฅn bilden ovan รคr det vรคrt att definiera "Fรถr-& efternamn" som en karaktรคr och "Kontakt" som en heltal.

Det รคr uppenbart att i alla applikationer har alla fรคlt den ena eller andra typen av data. T.ex. numeriska, alfabetiska, datum och mรฅnga fler.

Observera ocksรฅ att olika datatyper har olika minneskrav. Dรคrfรถr รคr det mer meningsfullt att definiera kolumnen eller variabel med den datatyp den kommer att hรฅlla fรถr effektiv anvรคndning av minnet.

Datatyp tillgรคnglig i MS SQL Server

Hรคr รคr en lista รถver MS SQL-serverdatatyper:

MS SQL server stรถder fรถljande kategorier av datatyp:

  • Exakt numeriskt
  • Ungefรคrlig numerisk
  • Datum och tid
  • Karaktรคrsstrรคngar
  • Unicode teckenstrรคngar
  • Binรคra strรคngar
  • Andra datatyper
Datatyp tillgรคnglig i MS SQL Server

MS SQL-datatyper

Exakta numeriska datatyper i SQL

Exakt numerisk har nio typer av subdatatyper i SQL-servern.

Exakta numeriska datatyper

Data typ BESKRIVNING Lรคgre grรคns ร–vre grรคns Minne
bigint Den lagrar heltal i det angivna intervallet โˆ’2^63 (โˆ’9,223,372, 036,854,775,808) 2^63โˆ’1 (โˆ’9,223,372, 036,854,775,807) 8 bitgrupper
int Den lagrar heltal i det angivna intervallet โˆ’2^31 (โˆ’2,147, 483,648) 2^31โˆ’1 (โˆ’2,147, 483,647) 4 bitgrupper
smallint Den lagrar heltal i det angivna intervallet โˆ’2^15 (โˆ’32,767 XNUMX) 2^15 (-32,768 XNUMX) 2 bitgrupper
pytteliten Den lagrar heltal i det angivna intervallet 0 255 1 byte
bitars Det kan ta vรคrden 0, 1 eller NULL. 0 1 1 byte/8bit kolumn
decimal- Anvรคnds fรถr skala och fasta precisionsnummer โˆ’10^38+1 10^381โˆ’1 5 till 17 byte
numerisk Anvรคnds fรถr skala och fasta precisionsnummer โˆ’10^38+1 10^381โˆ’1 5 till 17 byte
pengar Anvรคnde monetรคra data โˆ’922,337, 203, 685,477.5808 +922,337, 203, 685,477.5807 8 bitgrupper
smรฅpengar Anvรคnde monetรคra data -214,478.3648 +214,478.3647 4 bitgrupper

Exakta numeriska datatyper in SQL-server med exempel:

Frรฅga:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

Produktion

2

syntax

Decimal (P,S)

Hรคr,

  • P รคr precision
  • S รคr skala

Frรฅga:

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

Produktion

2.31

Ungefรคrliga numeriska datatyper i SQL

SQL Ungefรคrlig numerisk kategori inkluderar flyttal och verkliga vรคrden. Dessa datatyper i SQL anvรคnds mest i vetenskapliga berรคkningar.

Ungefรคrlig numerisk datatyp

Data typ BESKRIVNING Lรคgre grรคns ร–vre grรคns Minne Precision
flyta(n) Anvรคnds fรถr ett flytande precisionsnummer โˆ’1.79E+308 1.79E + 308 Beror pรฅ vรคrdet pรฅ n 7 Digit
verklig Anvรคnds fรถr ett flytande precisionsnummer โˆ’3.40E+38 3.40E + 38 4 bitgrupper 15 Digit
Syntax:  FLOAT [(n)]

Hรคr, n รคr antalet bitar som anvรคnds fรถr att lagra mantissan fรถr flyta nummer i vetenskaplig notation. Som standard รคr vรคrdet pรฅ n 53.

Nรคr anvรคndaren definierar en datatyp som float, n bรถr vara ett vรคrde mellan 1 och 53.

SQL Server behandlar n som ett av tvรฅ mรถjliga vรคrden. Om 1<=n<=24 behandlas n som 24. Om 25<=n<=53 behandlas n som 53.

Exempelfrรฅga:

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

Produktion

22.1234

Datum och tid Datatyper i SQL

Den lagrar data av typen Datum och tid.

Datum och tid Datatyp

Data typ BESKRIVNING Lagringsstorlek Noggrannhet Lรคgre intervall ร–vre Range
Datum Tid Anvรคnds fรถr att ange ett datum och en tid frรฅn 1 januari 1753 till 31 december 9999. Den har en noggrannhet pรฅ 3.33 millisekunder. 8 bitgrupper Avrundat till steg om .000, .003, .007 1753-01-01 9999-12-31
smalldatetime Anvรคnds fรถr att ange ett datum och en tid frรฅn 1 januari 0001 till 31 december 9999. Den har en noggrannhet pรฅ 100 nanosekunder 4 byte, fast 1 minuter 1900-01-01 2079-06-06
datum Anvรคnds endast fรถr att lagra datum frรฅn 1 januari 0001 till 31 december 9999 3 byte, fast 1 dag 0001-01-01 9999-12-31
tid Anvรคnds fรถr att lagra endast tidsvรคrden med en noggrannhet pรฅ 100 nanosekunder. 5 bitgrupper 100 nanosekunder 00:00:00.0000000 23:59:59.9999999
datumtidsfรถrskjutning Liknar datatid men har en tidszonfรถrskjutning 10 bitgrupper 100 nanosekunder 0001-01-01 9999-12-31
datetime2 Anvรคnds fรถr att ange ett datum och en tid frรฅn 1 januari 0001 till 31 december 9999 6 bitgrupper 100 nanosekunder 0001-01-01 9999-12-31

Exempelfrรฅga:

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

Produktion

'2030-01-01'

Teckenstrรคngsdatatyper i SQL

Denna kategori รคr relaterad till en teckentyp. Det tillรฅter anvรคndaren att definiera datatypen fรถr tecken som kan vara av fast och variabel lรคngd. Den har fyra typer av datatyper. Nedan finns teckenstrรคngen SQL-serverdatatyper med exempel.

Datatyper fรถr teckenstrรคngar

Data typ BESKRIVNING Lรคgre grรคns ร–vre grรคns Minne
rรถding Det รคr en teckenstrรคng med en fast bredd. Den lagrar maximalt 8,000 XNUMX tecken. 0 tecken 8000 tecken n byte
varchar Detta รคr en teckenstrรคng med variabel bredd 0 tecken 8000 tecken n byte + 2 byte
varchar (max) Detta รคr en teckenstrรคng med variabel bredd. Den lagrar hรถgst 1,073,741,824 XNUMX XNUMX XNUMX tecken. 0 tecken 2^31 tecken n byte + 2 byte
text Detta รคr en teckenstrรคng med variabel bredd. Den lagrar maximalt 2 GB textdata. 0 tecken 2,147,483,647 tecken n byte + 4 byte

Exempelfrรฅga:

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

Produktion

Detta รคr Character Datatype

Unicode-teckenstrรคngar Datatyper i SQL

Denna kategori lagrar hela utbudet av Unicode-tecken som anvรคnder teckenkodningen UTF-16.

Unicode-teckenstrรคngsdatatyper

Data typ BESKRIVNING Lรคgre grรคns ร–vre grรคns Minne
nchar Det รคr en Unicode-strรคng med fast bredd 0 tecken 4000 tecken 2 gรฅnger n byte
nvarchar Det รคr en unicode-strรคng med variabel bredd 0 tecken 4000 tecken 2 gรฅnger n byte + 2 byte
ntext Det รคr en unicode-strรคng med variabel bredd 0 tecken 1,073,741,823 rรถding 2 gรฅnger strรคngens lรคngd

Exempelfrรฅga:

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

Produktion

Detta รคr nCharacter Datatype

Binรคra strรคngdatatyper i SQL

Denna kategori innehรฅller en binรคr strรคng med fast och variabel lรคngd.

Binรคra strรคngdatatyper

Data typ BESKRIVNING Lรคgre grรคns ร–vre grรคns Minne
binรคr Det รคr en binรคr strรคng med fast bredd. Den lagrar maximalt 8,000 XNUMX byte. 0 bitgrupper 8000 bitgrupper n byte
varbinรคr Detta รคr en binรคr strรคng med variabel bredd. Den lagrar maximalt 8,000 XNUMX byte 0 bitgrupper 8000 bitgrupper Den faktiska lรคngden pรฅ inmatad data + 2 byte
bild Detta รคr en binรคr strรคng med variabel bredd. Den lagrar max 2 GB. 0 bitgrupper 2,147,483,647 bitgrupper

Exempelfrรฅga:

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

Produktion

0x000C

Andra datatyper i SQL

Dessa รคr andra olika SQL-serverdatatyper med beskrivningen nedan-

Data typ BESKRIVNING
Markรถr Dess utdata รคr en kolumn av sp_cursor_list och sp_describe_cursor.
Den returnerar namnet pรฅ markรถrvariabeln.
Radversion Dens version stรคmplar tabellrader.
Hierarkiid Denna datatyp representerar en position i hierarkin
Unikidentifierare Konvertering frรฅn ett teckenuttryck.
SQL_variant Den lagrar vรคrden fรถr SQL-serverstรถdda datatyper.
XML Den lagrar XML-data i en kolumn.
Typ av rumslig geometri Det representerar data i ett platt koordinatsystem.
Typ av rumsgeografi Det representerar data i det runda jordens koordinatsystem.
bord Den lagrar en resultatuppsรคttning fรถr senare bearbetning.

Intressanta fakta!

  • CHAR datatyp รคr snabbare รคn SQL VARCHAR-datatypen nรคr data hรคmtas.

Sammanfattning

  • Varje kolumn i tabeller definieras med sin datatyp under tabellskapandet.
  • Det finns sex huvudkategorier och en annan diverse kategori. ร–vrigt diverse har nio underkategorier av SQL-server tillgรคngliga datatyper och storlekar.

Sammanfatta detta inlรคgg med: