DATEDIFF Function
Returns the number of calendar or clock boundaries crossed between two dates. A calendar boundary is a transition from one day to the next, from one month to the next, etc. A clock boundary is a transition from one hour of the day to the next, one minute of the day to the next, etc.
Syntax
DATEDIFF(date-part, start-date, end-date)Parameters
-
date-part: text
One of the following predefined strings. Each date-part has abbreviated aliases that can be used in place of the longer names without affecting the behavior.year,yy,yyyyquarter,qq,qmonth,mm,mdayofyear,dy,yday,dd,dweek,wk,wwweekday,dwhour,hhminute,mi,nsecond,ss,smillisecond,ms
- start-date: text
A text value that can be parsed into a date/time. - end-date: text
A text value that can be parsed into a date/time.
Return Value
An integer representing the number of the specified date-part boundaries that are crossed between start-date and end-date.Example
-- Prints "1" because the clock crosses midnight once.
PRINT DATEDIFF('day', '2016-03-04 03:53', '2016-03-05 11:53');
-- Prints "1" because the clock crosses the top of the hour once.
PRINT DATEDIFF('hh', '2016-01-01 03:59', '2016-01-01 04:01');
-- Prints "0" because the clock does not cross the top of the hour.
PRINT DATEDIFF('hh', '2016-01-01 03:50', '2016-01-01 03:52');