DATE_SUB() 函数是 MySQL 中用于对日期进行减法操作的函数。它允许你从日期中减去指定的时间间隔。

语法
DATE_SUB(date, INTERVAL expression unit)

  •  date: 要进行减法操作的日期。

  •  expression: 要减去的时间间隔的表达式,可以是正数或负数。

  •  unit: 时间间隔的单位,例如 YEAR、MONTH、DAY、HOUR 等。


示例

1. 减少天数
SELECT DATE_SUB('2023-01-15', INTERVAL 7 DAY) AS new_date;

上述查询将返回给定日期(2023-01-15)减去7天后的日期。

2. 减少月份
SELECT DATE_SUB('2023-01-15', INTERVAL 3 MONTH) AS new_date;

这个查询将返回给定日期减去3个月后的日期。

3. 减少小时
SELECT DATE_SUB('2023-01-15 12:30:00', INTERVAL 2 HOUR) AS new_datetime;

这个查询将返回给定日期时间减去2小时后的日期时间。

4. 增加分钟
SELECT DATE_SUB('2023-01-15 12:30:00', INTERVAL -15 MINUTE) AS new_datetime;

这个查询将返回给定日期时间加上15分钟后的日期时间。

5. 使用变量

你还可以使用变量来指定要减去的时间间隔。
SET @my_date = '2023-01-15';
SELECT DATE_SUB(@my_date, INTERVAL 1 YEAR) AS new_date;

上述查询将返回给定日期减去1年后的日期。

与 DATE_ADD() 类似,DATE_SUB() 函数不会修改原始的日期,而是返回一个新的日期。如果你想在原始日期上进行修改,你需要将结果分配给变量或更新表中的列。




转载请注明出处:http://www.zyzy.cn/article/detail/8010/MySQL