给定NOW(),如何在MySQL中获取一周中第一天的DATETIME对象?

给定NOW(),如何在MySQL中获取一周中第一天的DATETIME对象?,mysql,datetime,Mysql,Datetime,如果在MySQL中输入NOW(),那么获取一周第一天的DATETIME对象的最佳方法是什么?如果一周的第一天是“星期日”或“星期一”,那么可以将一周的第一天设置为输入,那就太好了 我希望使用伪代码将其转换为DATE_格式,如: SELECT DATE_FORMAT(<first_day_of_week_datetime_object>, '%Y-%m-%d'); 选择日期格式(,“%Y-%m-%d”); 提前谢谢你 一周的第一天: select DATE_FORMAT(subda

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

我希望使用伪代码将其转换为DATE_格式,如:

SELECT DATE_FORMAT(<first_day_of_week_datetime_object>, '%Y-%m-%d');
选择日期格式(,“%Y-%m-%d”);
提前谢谢你

一周的第一天:

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');
一周的最后一天:

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');

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

select date_sub(datecol, interval - weekday(datecol) day)
MySQL的一周从周一开始。我认为没有理由将其格式化为字符串