如何比较php mysql中日期字段中的年份和月份

时间:2017-01-28 14:29:18

标签: mysql sql

我有一个日期字段,其中包含2017-01-102017-02-122017-05-14等数据。在这里,我如何检查任何一个字段是否包含2017年10月的日期(忽略当天)?

1 个答案:

答案 0 :(得分:3)

我建议您使用这样的不等式:

where datefield >= '2017-10-01' and datefield < '2017-11-01'

这种方法有两个好处:

  • 如果合适,查询优化器可以使用可用的索引。
  • 如果datefield有时间组件,则相同的逻辑有效。

如果您这样做:

where year(datefield) = 2017 and month(datefield) = 10

然后MySQL不会使用索引。 (yearmonth()和格式化列也是如此。)