MariaDB DATEDIFF() 函数返回两个日期/日期时间值之间的差异。返回值以天为单位表示,date1 和 date2 的时间部分将被忽略。
语法
DATEDIFF(date1, date2)
参数
date1 | 必填。 指定第一个日期或日期时间值来计算差异(date1 - date2)。 |
date2 | 必填。 指定第二个日期或日期时间值来计算差值(date1 - date2)。 |
返回值
返回以天为单位表示的两个日期/日期时间值之间的差异。
示例 1:
下面的示例显示了DATEDIFF()<的用法/i> 函数。
SELECT DATEDIFF('2019-10-25', '2019-10-15');
Result: 10
SELECT DATEDIFF('2019-10-25 12:40:45', '2019-10-15 10:20:25');
Result: 10
SELECT DATEDIFF('2019-10-25 12:40:45.001234', '2019-10-15 10:20:25.001000');
Result: 10
SELECT DATEDIFF('2019-10-15', '2019-10-25');
Result: -10
SELECT DATEDIFF('2019-10-25 12:40:45', '2019-10-15');
Result: 10
示例 2:
考虑一个名为 Orders 的数据库表,其中包含以下记录:
OrderQuantity | Price | OrderDate | PaymentDate |
---|---|---|---|
100 | 1.58 | 2017-08-18 | 2017-08-20 |
120 | 1.61 | 2018-03-23 | 2018-03-28 |
125 | 1.78 | 2018-09-12 | 2018-09-22 |
50 | 1.80 | 2019-01-16 | 2019-01-17 |
200 | 1.72 | 2020-02-06 | 2020-02-08 |
要计算结算交易所需的天数,可以使用以下查询:
SELECT *, DATEDIFF(PaymentDate, OrderDate) AS SettlementDays
FROM Orders;
这将产生类似于以下内容的结果:
OrderQuantity | Price | OrderDate | PaymentDate | SettlementDays |
---|---|---|---|---|
100 | 1.58 | 2017-08-18 | 2017-08-20 | 2 |
120 | 1.61 | 2018-03-23 | 2018-03-28 | 5 |
125 | 1.78 | 2018-09-12 | 2018-09-22 | 10 |
50 | 1.80 | 2019-01-16 | 2019-01-17 | 1 |
200 | 1.72 | 2020-02-06 | 2020-02-08 | 2 |