MySQL
MySQL
SELECT DATEDIFF('2024-06-10', '2024-06-01'); -- 9
SELECT DATEDIFF(end_date, start_date) AS days FROM projects;PostgreSQL
PostgreSQL
SELECT DATE '2024-06-10' - DATE '2024-06-01'; -- 9(整数)
SELECT (end_ts::date - start_ts::date) AS days FROM projects;
SELECT ts2 - ts1 AS elapsed FROM t; -- 时间戳相减得 interval| MySQL | DATEDIFF(a,b):只比较日期部分,忽略时间 |
|---|---|
| PostgreSQL | date - date => integer;timestamp - timestamp => interval |
| 精度提醒 | 跨分钟/小时的间隔要用时间戳差,而不是 DATEDIFF |