我有一个日期字段,其中包含2017-01-10
,2017-02-12
,2017-05-14
等数据。在这里,我如何检查任何一个字段是否包含2017年10月的日期(忽略当天)?
答案 0 :(得分:3)
我建议您使用这样的不等式:
where datefield >= '2017-10-01' and datefield < '2017-11-01'
这种方法有两个好处:
datefield
有时间组件,则相同的逻辑有效。如果您这样做:
where year(datefield) = 2017 and month(datefield) = 10
然后MySQL不会使用索引。 (yearmonth()
和格式化列也是如此。)