【问题标题】:How can i compare month with timestamp field in mysql query?如何在 mysql 查询中将月份与时间戳字段进行比较?
【发布时间】:2015-11-09 22:04:03
【问题描述】:

我想获取一个月的记录,比如第 8 个月,即 8 月,那么我如何将 8 与时间戳字段进行比较

SELECT * FROM `reserve_Product` WHERE MONTH(`date`) = 8

【问题讨论】:

  • 比较是什么意思?
  • 我想获取一个月的记录,比如第 8 个月,即 8 月,那么我如何将 8 与时间戳字段进行比较
  • MONTH(FROM_UNIXTIME(a_better_column_name))
  • select * from reserve_product where (month=(date("mm")=8))

标签: php mysql sql database


【解决方案1】:

你必须使用 DATE_FORMAT

SELECT * FROM reserve_Product WHERE DATE_FORMAT(`date`, '%m') = 8

试试这个小提琴:http://sqlfiddle.com/#!9/ef36c/3

【讨论】:

    【解决方案2】:

    即使您的查询是正确的,但由于月份功能,它不会使用索引,并且如果表很大,它会很慢......所以如果您还想要性能并且只需要 15 月 15 日的数据,那么您可以使用下面的查询-

    SELECT * FROM 
    reserve_Product 
    WHERE `date` >= '2015-08-01 00:00:00' and `date` <= '2015-08-31 23:59:59';
    

    但是如果你想要所有年份的八月数据,那么你必须使用日期函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      相关资源
      最近更新 更多