Hva er datatype?
En datatype er definert som typen data som en kolonne eller variabel kan lagre i MS SQL Server.
Mens du oppretter en hvilken som helst tabell eller variabel, i tillegg til å spesifisere navnet, angir du også hvilken datatype den skal lagres.
Hvordan bruke MS SQL datatype
- Du må definere på forhånd hvilken type data en kolonne eller variabel kan lagre. Å bestemme datatypen begrenser også brukeren fra å legge inn uventede eller ugyldige data.
- Du kan utnytte minnet effektivt ved å tilordne en passende datatype til variabelen eller kolonnen som bare vil tildele den nødvendige mengden systemminne for den respektive kolonnens data.
- MS SQL tilbyr en bred kategori av datatypen etter brukerens behov. Som Date, binære bilder osv.
I denne opplæringen lærer du:
- Hva er datatype?
- Hvordan bruke MS SQL datatype
- Hvorfor bruke DataTypes?
- Nøyaktig numerisk
- Omtrentlig numerisk
- Dato og tid
- Karakterstrenger
- Unicode karakterstrenger
- Binær streng
- Andre datatyper
Hvorfor bruke DataTypes?
La oss ta et utvalg av enkel registreringsside for nettsøknad. Tre inndatafelt er fornavn, etternavn og kontaktnummer.
Her skal vi merke oss at i sanntid:
- "For- / etternavn" vil alltid være alfabetisk .
- "Kontakt" vil alltid være numerisk .
- Fra bildet ovenfor er det verdt å definere "For- / etternavn" som et tegn og " Kontakt" som et heltall .
Det er tydelig at alle felt har en eller annen type data i alle applikasjoner. F.eks. Numerisk, alfabetisk, dato og mange flere.
Vær også oppmerksom på at forskjellig datatype har forskjellige minnekrav. Derfor er det mer fornuftig å definere kolonnen eller variabelen med datatypen den vil inneholde for effektiv bruk av minne.
Datatype tilgjengelig i MS SQL
MS SQL server støtter følgende kategorier av datatype:
- Nøyaktig numerisk
- Omtrentlig tall
- Dato og tid
- Karakterstrenger
- Unicode tegnstrenger
- Binære strenger
- Andre datatyper

Nøyaktig numerisk
Nøyaktig numerisk har ni typer underdatatyper. Nøyaktige numeriske datatyper
Data-type | Beskrivelse | Nedre grense | Øvre grense | Hukommelse |
---|---|---|---|---|
bigint | Den lagrer hele tall i det gitte området | −2 63 (−9,223,372, 036,854,775,808) | 2 63−1 (−9,223,372, 036,854,775,807) | 8 byte |
int | Den lagrer hele tall i det gitte området | −2 31 (−2,147, 483,648) | 2 31−1 (−2,147, 483,647) | 4 byte |
smallint | Den lagrer hele tall i det gitte området | −2 15 (−32,767) | 2 15 (−32,768) | 2 byte |
tinyint | Den lagrer hele tall i det gitte området | 0 | 255 | 1 byte |
bit | Det kan ta 0, 1 eller NULL-verdier. | 0 | 1 | 1 byte / 8bit kolonne |
desimal | Brukes til skalaer og faste presisjonsnumre | −10 38 + 1 | 10 381−1 | 5 til 17 byte |
numerisk | Brukes til skalaer og faste presisjonsnumre | −10 38 + 1 | 10 381−1 | 5 til 17 byte |
penger | Brukte monetære data | −922,337, 203, 685,477,5808 | +922 337, 203, 685 477,5807 | 8 byte |
småpenger | Brukte monetære data | −214,478,3648 | +214 478,3647 | 4 byte |
Eksempler:
Spørsmål:
DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int
Utgang: 2
Syntaks: desimal (P, S)
Her,
- P er presisjon
- S er skala
Spørsmål:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal
Utgang: 2.31
Omtrentlig numerisk
Omtrentlig numerisk kategori inkluderer flytende punkt og reelle verdier. De brukes mest i vitenskapelige beregninger. Omtrentlig numerisk datatype
Data-type | Beskrivelse | Nedre grense | Øvre grense | Hukommelse | Presisjon |
---|---|---|---|---|---|
flyte (n) | Brukes til et flytende presisjonsnummer | -1,79E + 308 | 1,79 E + 308 | Avhenger av verdien av n | 7 sifre |
ekte | Brukes til et flytende presisjonsnummer | −3.40E + 38 | 3.40E + 38 | 4 byte | 15 siffer |
Syntax: FLOAT [(n)]
Her, n er antallet bit som brukes til å lagre mantissen av flottøren tall i vitenskapelig fremstilling. Som standard er verdien n 53.
Når brukeren definerer en datatype som float, bør n 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ørsmål:
DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float
Utgang: 22.1234
Dato og tid
Den lagrer data av typen Dato og klokkeslett. Dato og klokkeslett Datatype
Data-type | Beskrivelse | Lagringsstørrelse | Nøyaktighet | Nedre rekkevidde | Øvre rekkevidde |
---|---|---|---|---|---|
Dato tid | Brukes til å spesifisere en dato og tid fra 1. januar 1753 til 31. desember 9999. Den har en nøyaktighet på 3,33 millisekunder. | 8 byte | Avrundet til trinn på .000, .003, .007 | 1753-01-01 | 9999-12-31 |
smalldatetime | Brukes til å 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 |
Dato | Brukes til å lagre bare datoen fra 1. januar 0001 til 31. desember 9999 | 3 byte, fast | 1 dag | 0001-01-01 | 9999-12-31 |
tid | Brukes til å lagre bare tidsverdier med en nøyaktighet på 100 nanosekunder. | 5 byte | 100 nanosekunder | 00: 00: 00.0000000 | 23: 59: 59.9999999 |
datetimeoffset | I likhet med datatid, men har en tidssoneforskyvning | 10 byte | 100 nanosekunder | 0001-01-01 | 9999-12-31 |
datetime2 | Brukes til å spesifisere dato og klokkeslett fra 1. januar 0001 til 31. desember 9999 | 6 byte | 100 nanosekunder | 0001-01-01 | 9999-12-31 |
Eksempel på spørsmål:
DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date
Utgang: '2030-01-01'
Karakterstrenger
Denne kategorien er relatert til en karaktertype. Den lar brukeren definere datatypen for karakter som kan ha fast og variabel lengde. Den har fire typer datatyper. Tegnstrenger Datatyper
Data-type | Beskrivelse | Nedre grense | Øvre grense | Hukommelse |
---|---|---|---|---|
røye | Det er en tegnstreng med fast bredde. Den lagrer maksimalt 8000 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 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ørsmål:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char
Utgang: Dette er karakterdatatype
Unicode karakterstrenger
Denne kategorien lagrer hele spekteret av Unicode-tegn som bruker UTF-16 tegnkoding. Unicode tegnstrengdatatyper
Data-type | Beskrivelse | Nedre grense | Øvre grense | Hukommelse |
---|---|---|---|---|
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øye | 2 ganger strenglengden |
Eksempel på spørsmål:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar
Output: Dette er nCharacter Datatype
Binær streng
Denne kategorien inneholder en binær streng med fast og variabel lengde. Binærstrengdatatyper
Data-type | Beskrivelse | Nedre grense | Øvre grense | Hukommelse |
---|---|---|---|---|
binær | Det er en fast bredde binær streng. Den lagrer maksimalt 8000 byte. | 0 byte | 8000 byte | n byte |
varbinær | Dette er en binær streng med variabel bredde. Den lagrer maksimalt 8000 byte | 0 byte | 8000 byte | Den faktiske lengden på oppgitte data + 2 byte |
bilde | Dette er en binær streng med variabel bredde. Den lagrer maksimalt 2 GB. | 0 byte | 2.147.483.647 byte |
Eksempel på spørsmål:
DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary
Utgang: 0x000C
Andre datatyper
Dette er andre forskjellige datatyper med beskrivelsen nedenfor -
Data-type | Beskrivelse |
---|---|
Markør | Utgangen er en kolonne med sp_cursor_list og sp_describe_cursor. Den returnerer navnet på markørvariabelen. |
Radversjon | Den versjonen frimerker tabellrader. |
Hierarkiid | Denne datatypen representerer en posisjon i hierarkiet |
Unik identifikator | Konvertering fra et karakteruttrykk. |
Sql_variant | Den lagrer verdier for datatyper som støttes av SQL server. |
XML | Den lagrer XML-data i en kolonne. |
Romlig geometri type | Den representerer data i et flatt koordinatsystem. |
Romlig geografi type | Det representerer data i det jordjordiske koordinatsystemet. |
bord | Den lagrer et resultatsett for senere behandling. |
Interessante fakta!
- CHAR-datatypen er raskere enn VARCHAR mens du henter data.
Sammendrag:
- Hver kolonne i tabeller definerer med datatypen under opprettelsen av tabellen.
- Det er seks hovedkategorier og en annen diverse kategori. Andre diverse har ni underkategorier av datatyper tilgjengelig.