用法示例
DATETIME_DIFF(Order Date, Ship Date, DAY)
语法
DATETIME_DIFF( date_expression, date_expression, part )
参数
date_expression
- 日期或日期和时间字段或表达式。如果第一个日期表达式早于第二个日期表达式,则结果为零或负数。part
- 要返回的时间部分。DATETIME_DIFF
支持以下部分:
返回数据类型
数字(整数)
示例
以下第二个和第三个示例显示了对相隔 24 小时的两个日期值执行 DATETIME_DIFF
运算的结果。日期部分为 WEEK
的 DATETIME_DIFF
会返回 1,因为 DATETIME_DIFF
会计算此日期值范围内日期部分边界值的数量。每个 WEEK
都从星期日开始算起,因此在 2017-10-14 00:00:00 星期六与 2017-10-15 00:00:00 星期日之间有一个部分的边界值。
示例公式 | 输出 |
---|---|
DATETIME_DIFF( DATETIME "2010-07-07 10:20:00", DATETIME "2008-12-25 15:30:00", DAY ) |
559 |
DATETIME_DIFF( DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", DAY ) |
1 |
DATETIME_DIFF( DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", WEEK ) |
1 |
以下示例显示了不同年份中两个日期的 DATETIME_DIFF
结果。对日期部分 YEAR
执行 DATETIME_DIFF
运算会返回 3,因为它计算两个日期值之间的公历年边界值数量。对日期部分 ISOYEAR
执行 DATETIME_DIFF
运算会返回 2,因为第二个日期值属于 ISO 格式的年份 2015。公历年 2015 年的第一个星期四是 2015-01-01,因此 ISO 格式年份 2015 年开始于上一个星期一,也就是 2014-12-29。
示例公式 | 输出 |
---|---|
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', YEAR) |
3 |
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', ISOYEAR) |
2 |
以下示例显示了连续两天的 DATETIME_DIFF
结果。第一个日期是星期一,第二个日期是星期日。对日期部分 ISOWEEK
执行 DATETIME_DIFF
运算也会返回 1,因为 ISO 格式的周从星期一开始。
示例公式 | 输出 |
---|---|
DATETIME_DIFF(DATE '2017-12-18', DATE '2017-12-17', WEEK) | 0 |
DATETIME_DIFF(DATE '2017-12-18', DATE'2017-12-17', ISOWEEK) |
1 |
备注
此函数不适用于兼容模式日期类型。