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标准未明确定义该函数,具体行为需参考数据库文档。