在 MySQL 中比较两个日期(或时间)的大小,可以使用比较运算符进行比较。针对年月的比较,可以分别提取出各自的年份和月份进行比较。
比如,假设有一个表 mytable
,其中包含字段 date
表示日期,我们要查询出所有日期在 2022 年 5 月之前的记录,可以这样写:
SELECT * FROM mytable WHERE YEAR(date) < 2022 OR (YEAR(date) = 2022 AND MONTH(date) <= 5);
这里使用了 YEAR() 和 MONTH() 函数将日期字段分别提取出年份和月份,并通过逻辑运算符的组合实现了年月的比较。
如果要查询日期在某个区间内的记录,也可以类似地使用 YEAR() 和 MONTH() 函数,例如:
SELECT * FROM mytable WHERE (YEAR(date) > 2021 OR (YEAR(date) = 2021 AND MONTH(date) >= 10))
AND (YEAR(date) < 2022 OR (YEAR(date) = 2022 AND MONTH(date) <= 5));
这里查询的是日期在 2021 年 10 月到 2022 年 5 月之间的记录。