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.