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

Innholdsfortegnelse:

Anonim

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