代码之家  ›  专栏  ›  技术社区  ›  Samuel

用时间戳查询MySQL数据库

  •  3
  • Samuel  · 技术社区  · 14 年前

    我有一个timestamp字段[SubmissionDate],它默认为当前的\u时间戳,我想知道如何以这样一种方式查询我的数据库,例如,我只显示在某个年份和月份提交的所有条目? 比如:

    SELECT * FROM DNA_entrys
    WHERE `SubmissionDate`.month = February
    AND `SubmissionDate`.year = 2004
    

    应该是一个基本的操作,但我找不到一个快速的答案

    2 回复  |  直到 14 年前
        1
  •  1
  •   Imre L    14 年前
    SELECT * FROM DNA_entrys
    WHERE month(`SubmissionDate`) = 2
    AND year(`SubmissionDate`) = 2004
    

    但我建议:

    SELECT * FROM DNA_entrys
    WHERE `SubmissionDate` between '2004-02-01' and ('2004-03-01' - INTERVAL 1 SECOND)
    

    后者允许使用索引,这使得在索引了ithat字段的情况下查询速度更快。

        2
  •  1
  •   eumiro    14 年前

    这有用吗?

    SELECT * FROM DNA_entrys
    WHERE MONTH(SubmissionDate) = 2
    AND YEAR(SubmissionDate) = 2004