📜  SQL Server 中的 DATEDIFF()函数

📅  最后修改于: 2022-05-13 01:55:51.229000             🧑  作者: Mango

SQL Server 中的 DATEDIFF()函数

DATEDIFF()函数:
SQL Server 中的此函数用于查找两个指定日期之间的差异。

特征 :

  • 此函数用于查找两个给定日期值之间的差异。
  • 此函数属于日期函数。
  • 此函数接受三个参数,即间隔、日期的第一个值和日期的第二个值。
  • 此函数可以在间隔部分和日期值部分中包含时间。

句法 :

DATEDIFF(interval, date1, date2)

范围 :
此方法接受三个参数,如下所示:

  • interval :它是要返回的指定部分。此外,区间的值可以如下给出:
  1. year, yyyy, yy = 年,即指定的年份。
  2. 季度,qq,q = 季度,即指定的季度。
  3. month, mm, m = 月,即指定月份。
  4. dayofyear, dy, y = 一年中的某一天,即一年中的指定日期。
  5. day, dd, d = Day,即指定的日期。
  6. week, ww, wk = Week,即指定的周。
  7. weekday, dw, w = Weekday,即指定的工作日。
  8. 小时,hh = 小时,即指定的小时。
  9. minute, mi, n = Minute,即指定的分钟。
  10. second, ss, s = Second,这是指定的秒。
  11. 毫秒,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

应用 :
此函数用于查找日期的两个指定值之间的差异。