T-SQL Dato Sammenligning

Den T-SQL DATEDIFF funksjonen kan du sammenligne to datoer og returnere forskjellen mellom dem i en rekke forskjellige intervaller, inkludert år, måneder, dager, timer, minutter eller sekunder. For å sjekke kronologi, kan du også bruke "mellom" og sjekke for å se om en bestemt dato faller mellom to andre. Du kan også sammenligne to datoer ved å bruke større enn, mindre enn og lik operatører.

Dato Datatyper

Fra og med SQL 2008, Microsoft databaser støtter datatyper som lar deg lagre dato og klokkeslett for seg. Andre datoverdier omfatter smalldatetime, som lagrer en kombinert dato og tid-verdi som ikke inneholder sekunder, datetime, som lagrer den verdien med en nøyaktighet på opp til .00333 sekunder, og datetime2 med en nøyaktighet på 100 nanosekunder.

Bruke DATEDIFF

Den DATEDIFF kan du returnere antall grensene for en bestemt type som oppstår mellom to datoer. Tilgjengelige intervaller, eller grenser, for å sjekke inkludere år, kvartal, måned, dag, uke, time, minutt, sekund og mer. Formatet på DATEDIFF funksjon er DATEDIFF ( 'grense', startdato, ENDDATE). Grensen er datepart du vil se etter, fra valgene ovenfor. Mange forkortelser kan brukes til disse dateparts. Den startdato og ENDDATE kan være gyldig uttrykk eller variabel som beregnes til en legititmate dato eller klokkeslett datatype.

Sammenligning bruker Mellom

For å sjekke om en dato skjer etter en bestemt dato og før en annen dato, kan du bruke MELLOM uttalelse. Dette er nyttig i en spørring for å få alle objekter i en viss tidsperiode. Du kan for eksempel bruke den i WHERE-leddet til å trekke alle hendelser som skjer i januar, som vist nedenfor:

VELG eventid, DATE fra Arrangementer
HVOR DATE mellom '01 / 01/2011 'OG '01 / 31/2011 "

Andre Dato Sammenligninger

Å sammenligne to datoer, kan du også bruke større enn, mindre enn, eller lik operatører i ditt der uttalelser. For å finne alle elementer med en dato før 1. januar 2011, ville du bruke: SELECT * fra [tabell] HVOR dato <'01 / 01/2011 ". Den samme logikken gjelder for større enn og like sammenligninger. Sammenligning datoer ved hjelp av denne metoden gjør kontoen for tidsverdier som er lagret i en datetime datatype, så hvis du vil ha alt før middag på en bestemt dato, må du huske å ta dette med i den delen etter sammenligningstegnet.