📜  mysql 日期大于 30 天 - SQL (1)

📅  最后修改于: 2023-12-03 14:44:29.980000             🧑  作者: Mango

MySQL 日期大于 30 天 - SQL

当我们需要筛选出某个日期字段大于 30 天的记录时,可以使用 MySQL 的日期计算函数来实现。

DATE_SUB 和 INTERVAL 函数

MySQL 提供了 DATE_SUB 和 INTERVAL 函数来进行日期计算。

DATE_SUB 函数

DATE_SUB 函数用于减去一个时间间隔(interval)从而得到一个新的日期。语法如下:

DATE_SUB(date, INTERVAL expr unit)

其中 date 表示要进行运算的日期,expr 表示要减去的时间间隔数值,unit 表示时间间隔单位,如:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND 等。

INTERVAL 函数

INTERVAL 函数用于表示一个时间间隔。语法如下:

INTERVAL expr unit

其中 expr 表示时间间隔数值,unit 表示时间间隔单位,如:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND 等。

筛选大于 30 天的记录

我们可以使用 DATE_SUB 函数来计算 30 天前的日期,然后通过比较操作符筛选大于该日期的记录。具体如下:

SELECT *
FROM table_name
WHERE date_column > DATE_SUB(NOW(), INTERVAL 30 DAY);

其中 table_name 表示表名,date_column 表示日期字段名,NOW() 函数用于获取当前日期时间。

这样就可以筛选出日期字段大于 30 天的记录。

注意事项
  • DATE_SUB 函数和 INTERVAL 函数中的 unit 参数需要使用全部大写字母表示,例如 DAY、MONTH、YEAR。
  • 如果要计算更复杂的时间间隔,可以使用多个 INTERVAL 函数进行组合。
  • 处理日期时需要注意时区问题,可以通过设置 MySQL 的系统时区来解决。