鉴于NOW(),你如何获得MySQL中第一天的DATETIME对象?

时间:2014-12-03 14:37:41

标签: mysql datetime

如果在MySQL中输入NOW(),那么获取一周中第一天的DATETIME对象的最佳方法是什么?如果一周的第一天可以设置为输入,以防万一的第一天是“星期天”或“星期一”,那就太棒了。

我希望使用伪代码将其提供给DATE_FORMAT,如:

SELECT DATE_FORMAT(<first_day_of_week_datetime_object>, '%Y-%m-%d');

提前谢谢!

2 个答案:

答案 0 :(得分:1)

一周的第一天:

select DATE_FORMAT(subdate(now(), INTERVAL weekday(now()) DAY), '%Y-%m-%d');

一周的最后一天:

select DATE_FORMAT(adddate(now(), INTERVAL 6-weekday(now()) DAY), '%Y-%m-%d');

答案 1 :(得分:0)

获得一周第一天的最简单方法是:

select date_sub(datecol, interval - weekday(datecol) day)

MySQL周一开始一周。我认为没有理由将其格式化为字符串。