【问题标题】:MySQL select query based on month spanMySQL 基于月份跨度的选择查询
【发布时间】:2012-01-18 01:55:38
【问题描述】:

是否可以在预定义的每月范围内使用 MySQL 选择格式为 YYYY-MM-DD HH-MM-SS 的时间戳?

基本上我希望查询选择从当前日期now() 到预定义月份(例如一月)的所有行。

例如,如果当前日期是 2011 年 6 月 25 日 - MySQL 应该选择从当前日期开始的所有行,回到 2011 年 1 月 1 日。

【问题讨论】:

    标签: mysql date timestamp


    【解决方案1】:
    select ... From MyTable
    Where SomeDateField Between MakeDate(Year(Now()),1) and Now()
    

    是一种方式。

    如果你想在回溯多远方面有更多的余地,而不是 Makedate

    使用像 Concat(Cast (Year(Now) As VarChar(4)),'-01-01') 之类的东西

    如果您在 YYYY-MM-DD 表单中构建字符串,它将自动转换为日期。

    【讨论】:

    • 嗨@Tony Hopkinson 请问,1 代表什么?
    • 1 与一年中的第 1 天一样,在你的例子中工作,比如 6 个月前不要使用它,因为你必须在闰年之类的时候使用它
    【解决方案2】:

    基本上你运行这样的语句:

    SELECT * FROM YOUR_TABLE WHERE your_date_column >= '2011-01-01 00-00-00' AND your_date_column <= '2011-06-25 00-00-00'
    

    这应该返回日期小于 2011 年 6 月 25 日的所有行。我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-30
      • 2017-01-08
      • 1970-01-01
      • 2021-07-20
      • 2019-06-04
      • 2010-10-23
      • 2020-11-24
      • 1970-01-01
      相关资源
      最近更新 更多