我创建了下表:
create table example
(
code varchar(7),
date date,
CONSTRAINT pk_date PRIMARY KEY (code)
);
我插入了数据:
insert into example(code, date)
values('001','2016/05/12');
insert into example(code, date)
values('002','2016/04/11');
insert into example(code, date)
values('003','2017/02/03');
问题是:如何选择从今天起五个月以前的日期?
最佳答案
您可以使用BETWEEN
来获取日期在以下范围内的所有数据:
[Five Months From Today, Today]
SELECT
*
FROM
example
WHERE `date` BETWEEN DATE_SUB(DATE(NOW()),INTERVAL 5 MONTH) AND DATE(NOW());
以防万一您不熟悉 BETWEEN
。
SELECT 2 BETWEEN 1 AND 3';
结果: 1
(表示 TRUE)
在 2 和 3 之间选择 1;
结果: 0
(表示 FALSE)
警告:
虽然 2 介于 1 和 3 之间。但是下面将返回 0
。
在 3 和 1 之间选择 2;
结果: 0
(假)
您应该在 AND
之前使用较小的值,在 AND
之后使用较高的值。
关于mysql - 如何在MySQL中选择一个范围内的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36362710/