【发布时间】:2012-01-18 01:55:38
【问题描述】:
是否可以在预定义的每月范围内使用 MySQL 选择格式为 YYYY-MM-DD HH-MM-SS 的时间戳?
基本上我希望查询选择从当前日期now() 到预定义月份(例如一月)的所有行。
例如,如果当前日期是 2011 年 6 月 25 日 - MySQL 应该选择从当前日期开始的所有行,回到 2011 年 1 月 1 日。
【问题讨论】:
是否可以在预定义的每月范围内使用 MySQL 选择格式为 YYYY-MM-DD HH-MM-SS 的时间戳?
基本上我希望查询选择从当前日期now() 到预定义月份(例如一月)的所有行。
例如,如果当前日期是 2011 年 6 月 25 日 - MySQL 应该选择从当前日期开始的所有行,回到 2011 年 1 月 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 表单中构建字符串,它将自动转换为日期。
【讨论】:
基本上你运行这样的语句:
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 日的所有行。我希望这会有所帮助。
【讨论】: