select subdate('20150329',weekday('20150329')); -- 周一
select subdate('20150323',weekday('20150323')-6);-- 周日

weekday() 函数和 dayofweek() ,date_format(curdate(),’%w’)类似,都是返回“某天”在一周中的位置。
不同点在于参考的标准,
①weekday:(0 = Monday, 1 = Tuesday, …, 6 = Sunday);
②dayofweek:(1 = Sunday, 2 = Monday, …, 7 = Saturday);
③%w 是以数字的形式来表示周中的天数( 0 = Sunday, 1=Monday, . . ., 6=Saturday),0为周日,6为周六,跟我们一般的认知,一周是从周一开始的并不一样。

时间格式也可以这样:

select subdate('2019-01-05',weekday('2019-01-05'));
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐