SQL Server 中的 DATEDIFF()函数
DATEDIFF()函数:
SQL Server 中的此函数用于查找两个指定日期之间的差异。
特征 :
- 此函数用于查找两个给定日期值之间的差异。
- 此函数属于日期函数。
- 此函数接受三个参数,即间隔、日期的第一个值和日期的第二个值。
- 此函数可以在间隔部分和日期值部分中包含时间。
句法 :
DATEDIFF(interval, date1, date2)
范围 :
此方法接受三个参数,如下所示:
- interval :它是要返回的指定部分。此外,区间的值可以如下给出:
- year, yyyy, yy = 年,即指定的年份。
- 季度,qq,q = 季度,即指定的季度。
- month, mm, m = 月,即指定月份。
- dayofyear, dy, y = 一年中的某一天,即一年中的指定日期。
- day, dd, d = Day,即指定的日期。
- week, ww, wk = Week,即指定的周。
- weekday, dw, w = Weekday,即指定的工作日。
- 小时,hh = 小时,即指定的小时。
- minute, mi, n = Minute,即指定的分钟。
- second, ss, s = Second,这是指定的秒。
- 毫秒,ms = 毫秒,即指定的毫秒。
- date1, date2 :两个指定的日期,以便找出它们之间的差异。
回报:
它返回两个指定日期之间的差异。
示例-1:
使用 DATEDIFF()函数并获取两个日期值之间的差异,以年为单位。
SELECT DATEDIFF(year, '2010/01/12', '2021/01/12');
输出 :
11
示例 2 :
使用 DATEDIFF()函数并以月为单位获取两个日期值之间的差异。
SELECT DATEDIFF(month, '2010/2/12', '2021/12/12');
输出 :
142
示例 3 :
使用 DATEDIFF()函数并获取日期的两个值之间的负差,以天为单位。
SELECT DATEDIFF(day, '2021/2/1', '2010/12/12');
输出 :
-3704
示例 4:
使用 DATEDIFF()函数并获取两个日期值之间的差异,其中也包括时间,以小时为单位。
SELECT DATEDIFF(hour, '2019/2/1 09:55', '2020/12/12 07:45');
输出 :
16318
示例 5:
使用 DATEDIFF()函数并使用包括时间在内的变量获取日期的两个值之间的差异,以秒为单位。
DECLARE @date1 VARCHAR(50);
DECLARE @date2 VARCHAR(50);
SET @date1 = '2019/2/1 09:55:44';
SET @date2 = '2020/12/12 07:45:22';
SELECT DATEDIFF(second, @date1, @date2);
输出 :
58744178
应用 :
此函数用于查找日期的两个指定值之间的差异。