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.
