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.
- 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
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.