sql学习笔记(四)
今天看到一个sql题,“近30天,******”,这里需要用到一个函数,date_add,其作用是在指定日期基础上添加一个时间间隔。
语法(以mysql为例):
DATE_ADD(date, INTERVAL value unit)
date:原始日期(如'2025-04-28'或字段名)。
value:要添加的数值(正数为未来,负数为过去)。
unit:时间单位(如day,month,year,hour等)。
示例:
-- 当前日期加 7 天
SELECT DATE_ADD(CURDATE(), INTERVAL 7 DAY); -- 订单到期日为下单日期 + 30 天
SELECT order_date, DATE_ADD(order_date, INTERVAL 30 DAY) AS due_date
FROM orders;-- 近30天(截止日期前30天),between包含前后两天
SELECT * from orders where order_date between DATE_ADD(order_date, INTERVAL -29 DAY) and order_date;
SQL Server中的等价函数:
DATEADD(unit, value, date)
-- 示例:DATEADD(DAY, 7, GETDATE())