数据库

SQL中的DATEDIFF函数用于计算两个日期之间的差值

2025-12-05

SQL中的DATEDIFF函数用于计算两个日期之间的差值,其语法为DATEDIFF(interval, start_date, end_date),支持年(‌YEAR)、月(MONTH)、日(‌DAY)等多种时间单位。


DATEDIFF函数核心用法

‌1、标准语法‌:DATEDIFF(interval, start_date, end_date)

其中 interval 支持 YEAR / MONTH / DAY / HOUR 等时间单位‌‌


2、典型应用场景‌:

计算订单创建时间与当前时间的年份差:

SELECT DATEDIFF(YEAR, order_date, GETDATE())

FROM orders WHERE id=123


清除两年前的日志记录:

DELETE FROM P_LOG

WHERE DATEDIFF(YEAR, P_CREATETIME, GETDATE()) > 2


注意事项

1)返回值符号由参数顺序决定:end_date > start_date时为正数。‌‌

2)计算结果仅考虑日期部分,忽略时间部分(如'2023-01-01 23:59'与'2023-01-02 00:01'的日差为1天)。‌‌

3)SQL标准未明确定义该函数,具体行为需参考数据库文档。‌‌