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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐