我有这样的记录:
[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)一样替换查询,但问题仍然是一样的
我想要做的是选择有12个月,1个月(新年),2个月(新年)的记录。
发布于 2018-03-30 16:47:33
为什么不提供时间范围呢?
SELECT id FROM records WHERE dateofit BETWEEN "2017-12-01 00:00:00" AND "2018-03-01 23:59:59";发布于 2018-03-30 16:49:39
以下是两种可能的方法:如果你只有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'发布于 2018-03-30 16:43:48
试试这个:
SELECT id FROM records
WHERE ( YEAR(dateofit) = 2017 AND MONTH(dateofit) = 12) OR
( YEAR(dateofit) = 2018 AND MONTH(dateofit) IN (1, 2));https://stackoverflow.com/questions/49578059
复制相似问题