The 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 sjekk for å se om en bestemt dato faller mellom to andre. Du kan også sammenligne to datoer med 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 tid for seg. Andre dato verdier omfatter smalldatetime , som lagrer en kombinert dato og tid-verdien som ikke inkluderer sekunder , datetime , som lagrer den verdien med en nøyaktighet på opp til 0,00333 sekunder , og datetime2 med en nøyaktighet på 100 nanosekunder .
Bruke DateDiff
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 er DateDiff (' grense ' , startdato , Sluttdato ) . Grensen er DatePart du vil se etter , fra valgene ovenfor . Mange forkortelser kan brukes til disse dateparts . Den startdato og Sluttdato kan være hvilken som helst gyldig uttrykk eller variabel som evalueres til en legititmate dato eller klokkeslett datatype .
Sammenligning hjelp Mellom
å sjekke om en date oppstår etter en bestemt dato og før en annen dato , kan du bruke MELLOM uttalelse. Dette er nyttig i en spørring til å 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 :
SELECT eventid , EVENTDATE fra EventsWHERE EVENTDATE mellom '01 /01 /2011 'AND '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. Å finne alle elementer med en dato før 1 januar 2011, vil du bruke : SELECT * fra [ tabell ] WHERE date < '01 /01 /2011 ' . Den samme logikken gjelder for større enn og lik sammenligninger . Sammenligning av datoer ved hjelp av denne metoden gjør rede 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 sammenligning tegn.