跳转至

SQL 的日期比较

SQL 中无法直接使用减运算比较时间,这会导致时间/日期先转换成整数再相减, 比如 2019-11-012019-10-31 的计算结果是 70

使用函数计算

使用 SQL 计算时间数据时一般会使用两个函数

DATEDIFF

SELECT DATEDIFF('2019-11-01', '2019-10-31') AS diff;

DATEDIFF() 函数接受两个参数,前者为被减数,后者为减数,因此上面的 SQL 的运行结果是: {"headers": ["diff"], "values": [[1]]}

TIMESTAMPDIFF

SELECT TIMESTAMPDIFF(unit, start_datetime, end_datetime) AS diff;

TIMESTAMPDIFF() 函数接受三个参数,unit 为时间单位:

SECOND、MINUTE、HOUR、DAY、MONTH、YEAR

需要注意的是,TIMESTAMPDIFF() 的计算方向和 DATEDIFF() 是相反的,即第二个参数为减数,第三个参数为被减数