MySQL 如何在MySQL中过滤日期以仅获取特定月份的日期记录?
在 MySQL 中,您可以使用 WHERE 子句和 BETWEEN 运算符来过滤日期记录。
下面是一个使用 BETWEEN 运算符和 DATE_FORMAT() 函数的示例代码:
SELECT * FROM table_name WHERE DATE_FORMAT(date_column, '%Y-%m') = '2021-07';
这将返回所有日期列为2021年7月的记录。 DATE_FORMAT()函数将日期格式转换为’YYYY-MM’,以便与日期字符串进行比较。
以下是一个完整的例子:
CREATE TABLE orders (
id INT,
order_date DATE
);
INSERT INTO orders (id, order_date) VALUES (1, '2021-06-01');
INSERT INTO orders (id, order_date) VALUES (2, '2021-07-05');
INSERT INTO orders (id, order_date) VALUES (3, '2021-07-15');
INSERT INTO orders (id, order_date) VALUES (4, '2021-08-20');
INSERT INTO orders (id, order_date) VALUES (5, '2021-09-01');
INSERT INTO orders (id, order_date) VALUES (6, '2021-10-05');
SELECT * FROM orders WHERE DATE_FORMAT(order_date, '%Y-%m') = '2021-07';
阅读更多:MySQL 教程
解释如下:
首先,我们创建一个包含订单 ID 和订单日期的 orders表。然后,我们向该表添加几个订单,分别设置在2021年6月、7月、8月、9月和10月。
在 SELECT 语句中,我们使用 DATE_FORMAT() 函数将订单日期列格式化为’YYYY-MM’。然后将其与’2021-07’进行比较。运行上面的 SQL 语句后,您将会在结果中看到两条记录,这些记录的日期列设置在2021年7月。
结论
使用上述日期格式化技巧,您可以方便地仅获取 MySQL 中特定月份的日期记录。请尝试使用实际数据运行上面的代码,并根据需要更改其中的参数。