SELECT * FROM 表 WHERE DATEDIFF(MONTH, '2018-02-05', 时间字段) = 0 OR DATEDIFF(MONTH, '2018-03-06', 时间字段) = 0;
--追求效率应这样写 --加索引 create index ix_表_时间字段 on 表(时间字段);--查询 SELECT * FROM 表 WHERE 时间字段>'2018-02-01' and 时间字段<'2018-03-01' union SELECT * FROM 表 WHERE 时间字段>'2018-03-01' and 时间字段<'2018-04-01'
FROM 表
WHERE DATEDIFF(MONTH, '2018-02-05', 时间字段) = 0
OR DATEDIFF(MONTH, '2018-03-06', 时间字段) = 0;
--加索引
create index ix_表_时间字段 on 表(时间字段);--查询
SELECT *
FROM 表
WHERE 时间字段>'2018-02-01' and 时间字段<'2018-03-01'
union
SELECT *
FROM 表
WHERE 时间字段>'2018-03-01' and 时间字段<'2018-04-01'
2.在一个月的数据写入完成后做结转,按期间yyyymm汇总,写入到期间汇总表
3.将年月条件参数化,然后转化为日期范围,像2楼那样查询