SQL DATEDIFF()函数
SQL中的 DATEDIFF() 函数是一个内置函数,用于返回两个日期或时间之间的差异(作为带符号的整数值)。
此函数接受三个参数:测量的间隔类型(例如年、季度、月、小时、分钟等)、指定要测量期间开始的起始日期或时间,以及指定要测量期间结束的最后日期或时间。
此函数返回一个32位int数据类型的差异,可以存储最大值为2,147,483,647的值。
语法
SQL DATEDIFF() 函数的语法如下:
参数
此函数接受三个参数。具体描述如下:
- datepart - 这指定要返回的日期或时间段的类型。以下是可能的取值:
- year, yyyy, yy = 年
- quarter, qq, q = 季度
- month, mm, m = 月份
- dayofyear, dy, y = 一年的第几天
- day, dd, d = 日
- week, ww, wk = 周
- weekday, dw, w = 工作日
- hour, hh = 小时
- minute, mi, n = 分钟
- second, ss, s = 秒
- millisecond, ms = 毫秒
- date1, date2 - 这些参数指定我们要比较的两个日期。
示例
我们可以使用以下查询计算两个日期值之间的差异:
YEAR
输出
当我们执行上述查询时,输出结果如下:
示例
在这里,我们使用以下查询计算两个日期值之间的差值 以季度为单位 。
输出
执行上述查询后,输出如下显示:
示例
在以下示例中,我们试图计算两个指定时间之间的差异,以小时为单位。
输出
上述查询的输出如下所示 –
示例
这里,我们使用以下查询计算两个指定时间之间的分钟差值 –
输出
如果我们执行上述查询,结果如下所示:
示例
假设我们使用CREATE语句在SQL数据库中创建了一个名为EMPLOYEE的表,如下面的查询所示−
现在,我们将使用插入语句在EMPLOYEE表中插入一些记录,如下所示的查询语句 –
我们可以使用以下查询验证表是否已创建:
在SQL数据库中成功创建了EMPLOYEE表。
在这里,我们使用以下查询计算每个员工的年龄(以年为单位)−
注意 − CURRENT_TIMESTAMP 检索当前的日期和时间。
输出
当我们执行上述查询时,输出结果如下:
示例
让我们使用CREATE语句在SQL数据库中创建名为OTT的另一个表,如下所示的查询:
现在,让我们使用以下的INSERT语句向OTT表中插入一些记录:
我们可以使用以下查询来验证表OTT是否已创建−
在SQL数据库中,表OTT已成功创建。
在这里,我们尝试使用以下查询来显示订阅计划完成的剩余天数−
输出
如果我们执行上面的查询,结果如下所示: