SQL Server-datatyper med eksempler

Hva er datatype?

A Data-type i SQL server er definert som typen data som enhver kolonne eller variabel kan lagre. Det er en type data som et objekt har som heltall, tegn, streng osv. Mens du lager en hvilken som helst tabell eller variabel, i tillegg til å spesifisere navnet, angir du også typen data den skal lagre.

Hvordan bruke MS SQL datatype

  • Du må definere på forhånd hvilken type data en kolonne eller variabel kan lagre. Fastsettelse av datatype begrenser også brukeren fra å legge inn uventede eller ugyldige data.
  • Du kan gjøre effektiv bruk av minnet ved å tilordne en passende datatype til variabel eller kolonne som kun vil tildele den nødvendige mengden systemminne for den respektive kolonnens data.
  • MS SQL tilbyr en bred kategori av grunnleggende datatyper i SQL i henhold til brukerens behov som Dato, binære bilder, etc.

Hvorfor bruke DataTypes?

La oss ta en prøve av enkle Registrer deg side av nettsideapplikasjonen. Tre inndatafelter er Fornavn, Etternavn og Kontaktnummer.

Her bør vi merke oss at i sanntid:

  • "For-/etternavn" vil alltid være alfabetisk.
  • "Ta kontakt med" vil alltid være numerisk.
SQL Server-datatyper
Eksempel på datatyper i MS SQL
  • Fra bildet ovenfor er det verdt å definere "For-/etternavn" som en karakter og "Ta kontakt med" som en heltall.

Det er tydelig at alle felter har den ene eller den andre typen data i enhver applikasjon. For eksempel numerisk, alfabetisk, dato og mange flere.

Vær også oppmerksom på at forskjellige datatyper har forskjellige minnekrav. Derfor er det mer fornuftig å definere kolonnen eller variabel med datatypen den vil holde for effektiv bruk av minnet.

Datatype tilgjengelig i MS SQL Server

Her er en liste over MS SQL-serverdatatyper:

MS SQL server støtte følgende kategorier av datatype:

  • Nøyaktig numerisk
  • Omtrentlig numerisk
  • Dato og tid
  • Karakterstrenger
  • Unicode-tegnstrenger
  • Binære strenger
  • Andre datatyper
Datatype tilgjengelig i MS SQL Server

MS SQL-datatyper

Nøyaktige numeriske datatyper i SQL

Nøyaktig numerisk har ni typer underdatatyper i SQL-serveren.

Nøyaktige numeriske datatyper

Data-type Tekniske beskrivelser Nedre grense Øvre grense Minne
bigint Den lagrer hele tall i området gitt −2^63 (−9,223,372, 036,854,775,808) 2^63−1 (−9,223,372, 036,854,775,807) 8 bytes
int Den lagrer hele tall i området gitt −2^31 (−2,147, 483,648) 2^31−1 (−2,147, 483,647) 4 bytes
smallint Den lagrer hele tall i området gitt −2^15 (−32,767 XNUMX) 2^15 (-32,768 XNUMX) 2 bytes
bitteliten Den lagrer hele tall i området gitt 0 255 1 bytes
bit Det kan ha 0, 1 eller NULL verdier. 0 1 1 byte/8bit kolonne
desimal Brukes til skala og faste presisjonstall −10^38+1 10^381-1 5 til 17 byte
numerisk Brukes til skala og faste presisjonstall −10^38+1 10^381-1 5 til 17 byte
penger Brukte pengedata −922,337, 203, 685,477.5808 +922,337, 203, 685,477.5807 8 bytes
småpenger Brukte pengedata -214,478.3648 + 214,478.3647 (vi er ikke fra Mexico) 4 bytes

Nøyaktige numeriske datatyper inn SQL-server med eksempler:

Spørsmål:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

Produksjon

2

syntax

Desimal (P,S)

Her

  • P er presisjon
  • S er målestokk

Spørsmål:

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

Produksjon

2.31

Omtrentlig numeriske datatyper i SQL

SQL Omtrentlig numerisk kategori inkluderer flyttall og reelle verdier. Disse datatypene i SQL brukes mest i vitenskapelige beregninger.

Omtrentlig numerisk datatype

Data-type Tekniske beskrivelser Nedre grense Øvre grense Minne Precision
flyte(n) Brukes for et flytende presisjonstall −1.79E+308 1.79E + 308 Avhenger av verdien av n 7 Digit
ekte Brukes for et flytende presisjonstall −3.40E+38 3.40E + 38 4 bytes 15 Digit
Syntax:  FLOAT [(n)]

Her n er antall biter som brukes til å lagre mantissen til flyte tall i vitenskapelig notasjon. Som standard er verdien av n 53.

Når brukeren definerer en datatype som float, n bør være en verdi mellom 1 og 53.

SQL Server behandler n som en av to mulige verdier. Hvis 1<=n<=24, behandles n som 24. Hvis 25<=n<=53, behandles n som 53.

Eksempel på spørring:

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

Produksjon

22.1234

Dato og klokkeslett Datatyper i SQL

Den lagrer data av typen Dato og klokkeslett.

Dato og klokkeslett Datatype

Data-type Tekniske beskrivelser Lagringsstørrelse Nøyaktighet Nedre rekkevidde Øvre rekkevidde
Dato tid Brukes for å spesifisere en dato og tid fra 1. januar 1753 til 31. desember 9999. Den har en nøyaktighet på 3.33 millisekunder. 8 bytes Avrundet til trinn på .000, .003, .007 1753-01-01 9999-12-31
smalldatetime Brukes for å spesifisere en dato og tid fra 1. januar 0001 til 31. desember 9999. Den har en nøyaktighet på 100 nanosekunder 4 byte, fast 1 minutt 1900-01-01 2079-06-06
data Brukes kun til å lagre dato fra 1. januar 0001 til 31. desember 9999 3 byte, fast 1 dag 0001-01-01 9999-12-31
tid Brukes for å lagre kun tidsverdier med en nøyaktighet på 100 nanosekunder. 5 bytes 100 nanosekunder 00:00:00.0000000 23:59:59.9999999
datotidsforskyvning Ligner på datatid, men har en tidssoneforskyvning 10 bytes 100 nanosekunder 0001-01-01 9999-12-31
dato klokkeslett 2 Brukes for å spesifisere en dato og tid fra 1. januar 0001 til 31. desember 9999 6 bytes 100 nanosekunder 0001-01-01 9999-12-31

Eksempel på spørring:

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

Produksjon

'2030-01-01'

Tegnstrenger Datatyper i SQL

Denne kategorien er relatert til en tegntype. Den lar brukeren definere datatypen for tegn som kan være av fast og variabel lengde. Den har fire typer datatyper. Nedenfor er tegnstrengen SQL-serverdatatyper med eksempler.

Datatyper for tegnstrenger

Data-type Tekniske beskrivelser Nedre grense Øvre grense Minne
chariot Det er en tegnstreng med en fast bredde. Den lagrer maksimalt 8,000 tegn. 0 tegn 8000 tegn n byte
varchar Dette er en tegnstreng med variabel bredde 0 tegn 8000 tegn n byte + 2 byte
varchar (maks) Dette er en tegnstreng med variabel bredde. Den lagrer maksimalt 1,073,741,824 XNUMX XNUMX XNUMX tegn. 0 tegn 2^31 tegn n byte + 2 byte
tekst Dette er en tegnstreng med variabel bredde. Den lagrer maksimalt 2 GB tekstdata. 0 tegn 2,147,483,647 tegn n byte + 4 byte

Eksempel på spørring:

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

Produksjon

Dette er Character Datatype

Unicode-tegnstrenger datatyper i SQL

Denne kategorien lagrer hele spekteret av Unicode-tegn som bruker UTF-16-tegnkoding.

Unicode-tegnstrengdatatyper

Data-type Tekniske beskrivelser Nedre grense Øvre grense Minne
nchar Det er en Unicode-streng med fast bredde 0 tegn 4000 tegn 2 ganger n byte
nvarchar Det er en unicode-streng med variabel bredde 0 tegn 4000 tegn 2 ganger n byte + 2 byte
ntekst Det er en unicode-streng med variabel bredde 0 tegn 1,073,741,823 røyker 2 ganger strenglengden

Eksempel på spørring:

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

Produksjon

Dette er nCharacter Datatype

Binære strengdatatyper i SQL

Denne kategorien inneholder en binær streng med fast og variabel lengde.

Binære strengdatatyper

Data-type Tekniske beskrivelser Nedre grense Øvre grense Minne
binære Det er en binær streng med fast bredde. Den lagrer maksimalt 8,000 byte. 0 bytes 8000 bytes n byte
varbinær Dette er en binær streng med variabel bredde. Den lagrer maksimalt 8,000 byte 0 bytes 8000 bytes Den faktiske lengden på innlagte data + 2 byte
bilde Dette er en binær streng med variabel bredde. Den lagrer maksimalt 2 GB. 0 bytes 2,147,483,647 bytes

Eksempel på spørring:

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

Produksjon

0x000C

Andre datatyper i SQL

Dette er andre forskjellige SQL-serverdatatyper med beskrivelsen nedenfor-

Data-type Tekniske beskrivelser
Markør Utgangen er en kolonne av sp_cursor_list og sp_describe_cursor.
Den returnerer navnet på markørvariabelen.
Radversjon Dens versjon stempler tabellrader.
Hierarkiid Denne datatypen representerer en posisjon i hierarkiet
Unikidentifikator Konvertering fra et tegnuttrykk.
SQL_variant Den lagrer verdier for SQL-serverstøttede datatyper.
XML Den lagrer XML-data i en kolonne.
Romlig geometri type Den representerer data i et flatt koordinatsystem.
Type romgeografi Det representerer data i koordinatsystemet rundt jorden.
bord Den lagrer et resultatsett for senere behandling.

Interessante fakta!

  • CHAR datatype er raskere enn SQL VARCHAR-datatypen mens du henter data.

Sammendrag

  • Hver kolonne i tabeller definerer med sin datatype under tabelloppretting.
  • Det er seks hovedkategorier og en annen diverse kategori. Annet diverse har ni underkategorier av SQL-server tilgjengelige datatyper og størrelser.