De functie DATEDIFF T-SQL kunt u twee datums vergelijken en het verschil tussen hen in een verscheidenheid van verschillende intervallen, met inbegrip van jaren, maanden, dagen, uren, minuten of seconden te retourneren. Om te controleren de chronologie, kunt u ook de optie "tussen" en controleer om te zien of een bepaalde datum valt tussen twee anderen. U kunt ook het vergelijken van twee datums met de groter dan, kleiner dan en gelijk is aan de exploitanten.
Datum-gegevenstypen
Beginnen met SQL 2008, ondersteunen Microsoft-databases gegevenstypen die u toestaan om de datum en tijd apart opslaan. Andere datumwaarden omvatten smalldatetime, die slaat een gecombineerde datum- en tijdwaarde die de seconden bevat geen-, datetime, die de waarde met een nauwkeurigheid van maximaal.00333 seconden, en datetime2 met een nauwkeurigheid van 100 nanoseconden slaat.
Met behulp van DATEDIFF
De DATEDIFF kunt u het nummer van de grenzen van een bepaald type die zich tussen de twee datums voordoen als resultaat geven. Beschikbare intervallen, of grenzen, om te controleren omvatten jaar, kwartaal, maand, dag, week, uur, minuut, seconde en meer. De indeling van de functie DATEDIFF is DATEDIFF ('grens', startdate enddate). De grens is de datepart die u, uit de bovenstaande opties controleren zal. Veel afkortingen kunnen worden gebruikt voor deze dateparts. De begindatum en einddatum kunnen een willekeurige geldige expressie of variabele die in een gegevenstype legititmate datum of tijd resulteert.
Vergelijken met behulp van tussen
Als u wilt controleren of een datum na een bepaalde datum en vóór een andere datum optreedt, kunt u de verklaring van de tussen. Dit is handig in een query om alle objecten in een bepaalde periode. U kunt het bijvoorbeeld gebruiken in de WHERE-component te trekken van alle gebeurtenissen in januari, zoals hieronder getoond:
Selecteer eventID, eventDate van evenementen
WAAR eventDate tussen ' 01/01/2011 ' en ' 01/31/2011 '
Andere vergelijkingen van de datum
Om te vergelijken twee datums, kunt u ook de exploitanten groter dan, kleiner dan, of gelijk in uw verklaringen waar. Om te zoeken naar alle items met een datum vóór 1 januari 2011, zou u gebruiken: Selecteer * uit [tabel] waar datum<'01 1/2011'.="" the="" same="" logic="" applies="" for="" greater="" than="" and="" equal="" comparisons.="" comparing="" dates="" using="" this="" method="" does="" account="" for="" time="" values="" stored="" in="" a="" datetime="" data="" type,="" so="" if="" you="" want="" everything="" before="" noon="" on="" a="" certain="" date,="" be="" sure="" to="" include="" that="" in="" the="" portion="" after="" the="" comparison="">'01>