DATE_DIFF
引入或更新: v1.2.645
根据指定的时间单位计算两个日期或时间戳之间的差异。如果 <end_date>
在 <start_date>
之后,结果为正;如果 <end_date>
在 <start_date>
之前,结果为负。
语法
DATE_DIFF(<unit>, <start_date>, <end_date>)
参数 | 描述 |
---|---|
<unit> | 差异的时间单位:YEAR , QUARTER , MONTH , WEEK , DAY , HOUR , MINUTE , 或 SECOND 。 |
<start_date> | 起始日期或时间戳。 |
<end_date> | 结束日期或时间戳。 |
示例
此示例计算昨天和今天之间的小时差:
SELECT DATE_DIFF(HOUR, YESTERDAY(), TODAY());
┌───────────────────────────────────────┐
│ DATE_DIFF(HOUR, yesterday(), today()) │
├───────────────────────────────────────┤
│ 24 │
└───────────────────────────────────────┘
此示例计算当前日期与2000年1月1日之间的年份差:
SELECT NOW(), DATE_DIFF(YEAR, NOW(), TO_DATE('2000-01-01'));
┌────────────────────────────────────────────────────────────────────────────┐
│ now() │ DATE_DIFF(YEAR, now(), to_date('2000-01-01')) │
├────────────────────────────┼───────────────────────────────────────────────┤
│ 2024-10-15 03:38:23.726599 │ -24 │
└────────────────────────────────────────────────────────────────────────────┘