乐闻世界logo
搜索文章和话题

How to subtract 30 days from the current datetime in mysql?

4 个月前提问
3 个月前修改
浏览次数8

1个答案

1

当需要从MySQL的当前日期时间中减去30天时,可以使用 DATE_SUB() 函数或者直接使用 INTERVAL 表达式。这里我会给出两种方法的示例:

方法1:使用 DATE_SUB() 函数

DATE_SUB() 函数可以从指定的日期减去一定的时间间隔。其基本的语法是:

sql
DATE_SUB(date, INTERVAL expr type)
  • date 是起始日期
  • expr 是你想要减去的数量
  • type 是时间的类型,比如 DAY, MONTH, YEAR 等。

例如,如果你想从当前日期减去30天,你可以使用以下SQL查询:

sql
SELECT DATE_SUB(NOW(), INTERVAL 30 DAY);

方法2:使用 INTERVAL 表达式

你也可以直接在日期上使用 - INTERVAL 表达式来减去特定的时间。例如,减去30天可以写成:

sql
SELECT NOW() - INTERVAL 30 DAY;

这种方法直接、简洁,对于简单的日期时间操作非常方便。

示例应用场景

假设你在管理一个在线商店,需要查询过去30天内的订单。你可以使用以下SQL查询:

sql
SELECT * FROM orders WHERE order_date >= NOW() - INTERVAL 30 DAY;

这个例子中,我们使用了第二种方法来获取从当前日期时间减去30天的日期,用于筛选近30天内的订单数据。

2024年8月7日 09:57 回复

你的答案