MySQL根据月份跨度选择查询

时间:2011-12-11 22:41:42

标签: mysql date timestamp

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

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

举个例子,如果当前日期是2011年6月25日 - MySQL应该选择当前日期的所有行,直到2011年1月1日。

2 个答案:

答案 0 :(得分:2)

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中构建一个字符串,它将自动转换为日期。

答案 1 :(得分:1)

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

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日的所有行。我希望这会有所帮助。