DATEDIFF#

Returns the count (signed integer) of the specified datepart boundaries crossed between the specified startdate and enddate.

Syntax#

DATEDIFF ( datepart , startdate , enddate )

Arguments#

datepart

Is the part of startdate and enddate that specifies the type of boundary crossed. The following table lists all valid datepart arguments. User-defined variable equivalents are not valid.

datepart

Abbreviations

year

yy, yyyy

quarter

qq, q

month

mm, m

dayofyear

dy, y

day

dd, d

week

wk, ww

hour

hh

minute

mi, n

second

ss, s

millisecond

ms

microsecond

mcs

nanosecond

ns

startdate

Is an expression that can be resolved to a time, date, smalldatetime, datetime, datetime2, or datetimeoffset value. date can be an expression, column expression, user-defined variable, or string literal. startdate is subtracted from enddate. To avoid ambiguity, use four-digit years.

enddate

See startdate.

Return types#

int

Example#

SELECT DATEDIFF(hour, 0, '2007-05-10 12:10:09.331');

See Also#