[英]Select record by month between 12 and 2 of new Year
我有这个记录:
[id | dateofit ]
[ 1 | 2017-12-1]
我要使用此查询选择的内容:
SELECT id FROM records WHERE MONTH(dateofit) BETWEEN 12 AND 2
问题是12
来自2017
, 2
来自2018
,所以我没有任何结果,
我试图像这样在MONTH(dateofit) BETWEEN MONTH(12) AND MONTH(1)
替换MONTH(dateofit) BETWEEN MONTH(12) AND MONTH(1)
的查询MONTH(dateofit) BETWEEN MONTH(12) AND MONTH(1)
但是仍然存在相同的问题
我要选择的记录是[12,1(newyear),2(newyear)]
为什么不只提供时间范围?
SELECT id FROM records WHERE dateofit BETWEEN "2017-12-01 00:00:00" AND "2018-03-01 23:59:59";
以下是两种可能的方法:如果您仅拥有2017年3月至2018年11月的数据:
SELECT
id
FROM
records
WHERE
MONTH(dateofit) IN (12, 1, 2)
如果您有数年的数据:
SELECT
id
FROM
records
WHERE
dateofit BETWEEN '2017-12-01' AND '2018-02-28'
尝试这个:
SELECT id FROM records
WHERE ( YEAR(dateofit) = 2017 AND MONTH(dateofit) = 12) OR
( YEAR(dateofit) = 2018 AND MONTH(dateofit) IN (1, 2));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.