SQL Server DataTypes: Varchar, Numeric, Date Time (T-SQL Exempel)

Innehållsförteckning:

Anonim

Vad är datatyp?

En datatyp definieras som den typ av data som en kolumn eller variabel kan lagra i MS SQL Server.

Medan du skapar en tabell eller variabel, förutom att ange namnet, ställer du också in vilken typ av data den ska lagras.

Hur man använder MS SQL-datatyp

  • Du måste definiera i förväg vilken typ av data en kolumn eller variabel kan lagra. Att bestämma datatyp begränsar också användaren från att ange oväntade eller ogiltiga data.
  • Du kan utnyttja minnet effektivt genom att tilldela en lämplig datatyp till variabel eller kolumn som endast tilldelar den erforderliga mängden systemminne för respektive kolumndata.
  • MS SQL erbjuder en bred kategori av datatypen enligt användarens behov. Som Date, binära bilder etc.

I den här handledningen lär du dig:

  • Vad är datatyp?
    • Hur man använder MS SQL-datatyp
  • Varför använda DataTypes?
    • Exakt numeriskt
    • Ungefärlig numerisk
    • Datum och tid
    • Karaktärssträngar
    • Unicode-teckensträngar
    • Binär sträng
    • Andra datatyper

Varför använda DataTypes?

Låt oss ta ett exempel på en enkel registreringssida för webbplatsapplikationen. 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 alfabetiskt .
  • "Kontakt" kommer alltid att vara numeriskt .

  • Från bilden ovan är det värt att definiera "För- / efternamn" som ett tecken och " Kontakt" som ett heltal .

Det är uppenbart att i alla applikationer har alla fält en eller annan typ av data. Till exempel 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 variabeln med den datatyp som den kommer att innehålla för effektiv användning av minnet.

Datatyp tillgänglig i MS SQL

MS SQL-server stöder följande kategorier av datatyp:

  • Exakt numeriskt
  • Ungefärliga siffror
  • Datum och tid
  • Teckensträngar
  • Unicode-teckensträngar
  • Binära strängar
  • Andra datatyper
MSQL-datatyper

Exakt numeriskt

Exakt numeriskt har nio typer av underdatatyper. Exakta numeriska datatyper

Data typ Beskrivning Lägre gräns Övre gräns Minne
bigint Det lagrar hela siffror i det angivna intervallet −2 63 (−9,223,372, 036,854,775,808) 2 63−1 (−9,223,372, 036,854,775,807) 8 byte
int Det lagrar hela siffror i det angivna intervallet −2 31 (−2,147, 483,648) 2 31−1 (−2,147, 483,647) 4 bytes
smallint Det lagrar hela siffror i det angivna intervallet −2 15 (−32,767) 2 15 (−32,768) 2 byte
tinyint Det lagrar hela siffror i det angivna intervallet 0 255 1 byte
bit Det kan ta 0, 1 eller NULL-värden. 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ända monetära data −922,337, 203, 685,477,5808 +922 337, 203, 685 477,5807 8 byte
småpengar Använda monetära data −214,478,3648 +214 478,3647 4 bytes

Exempel:

Fråga:

DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int

Utgång: 2

Syntax: decimal (P, S)

Här,

  • P är precision
  • S är skala

Fråga:

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

Utgång: 2.31

Ungefärlig numerisk

Ungefärlig numerisk kategori inkluderar flytande punkt och verkliga värden. De 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,79 E + 308 Beror på värdet av n 7 siffror
verklig Används för ett flytande precisionsnummer −3.40E + 38 3.40E + 38 4 bytes 15 siffror
Syntax: FLOAT [(n)] 

Här, n är antalet bitar som används för att lagra mantissan av flottören tal i grundpotens. Som standard är värdet n 53.

När användaren definierar en datatyp som float ska n 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.

Exempel på fråga:

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

Utgång: 22.1234

Datum och tid

Den lagrar data av typen Datum och tid. Datum och tid Datatyp

Data typ Beskrivning Förvaringsstorlek Noggrannhet Lägre intervall Övre intervall
Datum Tid Används för att ange ett datum och tid från 1 januari 1753 till 31 december 9999. Den har en noggrannhet på 3,33 millisekunder. 8 byte Avrundat till steg om .000, .003, .007 1753-01-01 9999-12-31
smalldatetime Används för att ange ett datum och tid från 1 januari 0001 till 31 december 9999. Den har en noggrannhet på 100 nanosekunder 4 byte, fast 1 minut 1900-01-01 2079-06-06
datum Används för att endast 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 bara lagra tidsvärden med en noggrannhet på 100 nanosekunder. 5 byte 100 nanosekunder 00: 00: 00.0000000 23: 59: 59.9999999
datetimeoffset Liknar datatid men har en tidszonsförskjutning 10 byte 100 nanosekunder 0001-01-01 9999-12-31
datetime2 Används för att ange ett datum och tid från 1 januari 0001 till 31 december 9999 6 byte 100 nanosekunder 0001-01-01 9999-12-31

Exempel på fråga:

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

Utgång: '2030-01-01'

Karaktärssträngar

Denna kategori är relaterad till en karaktärstyp. Det gör det möjligt för användaren att definiera datatypen för tecken som kan ha fast och variabel längd. Den har fyra typer av datatyper. 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 högst 8000 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 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

Exempel på fråga:

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

Output: Detta är Character Datatype

Unicode-teckensträngar

Den här kategorin lagrar hela utbudet av Unicode-tecken som använder UTF-16-teckenkodning. Unicode-teckensträngdatatyper

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 char 2 gånger stränglängden

Exempel på fråga:

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

Output: Detta är nCharacter Datatype

Binär sträng

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 högst 8000 byte. 0 byte 8000 byte n byte
varbinär Detta är en binär sträng med variabel bredd. Den lagrar högst 8000 byte 0 byte 8000 byte Den faktiska längden på inmatad data + 2 byte
bild Detta är en binär sträng med variabel bredd. Den lagrar högst 2 GB. 0 byte 2 147 473 647 byte

Exempel på fråga:

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

Utgång: 0x000C

Andra datatyper

Dessa är andra olika datatyper med beskrivningen nedan-

Data typ Beskrivning
Markör Dess utdata är en kolumn med sp_cursor_list och sp_describe_cursor. Den returnerar namnet på markörvariabeln.
Radversion Den version stämplar tabellrader.
Hierarkyid Denna datatyp representerar en position i hierarkin
Unikt identifierare Konvertering från ett teckenuttryck.
Sql_variant Det lagrar värden på datatyper som stöds av SQL-server.
XML Den lagrar XML-data i en kolumn.
Spatial Geometry type Det representerar data i ett platt koordinatsystem.
Typ av geografisk geografi Den representerar data i det jordjordiska koordinatsystemet.
tabell Den lagrar en resultatsats för senare bearbetning.

Intressanta fakta!

  • CHAR-datatypen är snabbare än VARCHAR när data hämtas.

Sammanfattning:

  • Varje kolumn i tabeller definieras med sin datatyp under skapandet av tabellen.
  • Det finns sex huvudkategorier och en annan diverse kategori. Andra diverse har nio underkategorier av datatyper tillgängliga.