在MySQL中给定一个日期,如何确定一周的相对开始时间?
我的表中有一个在MySQL中给定一个日期,如何确定一周的相对开始时间?,mysql,sql,datetime,Mysql,Sql,Datetime,我的表中有一个date\u time列 如何获取本周开始的日期,即日期2011-01-09 13:44:00将返回2011-01-07 00:00:00 我已经看了一遍,但想不出怎么做 我试过这样的东西 DATE_ADD( YEAR( NOW( ) ) , INTERVAL WEEK( NOW( ) ) WEEK ) AS `start_of_week` 但我得到的只是NULL 我该怎么做? 此外,STR_TO_DATE函数。将您的年和周连接在一起,然后是所需的字符串日期格式,然后可以转换为
date\u time
列
如何获取本周开始的日期,即日期2011-01-09 13:44:00
将返回2011-01-07 00:00:00
我已经看了一遍,但想不出怎么做
我试过这样的东西
DATE_ADD( YEAR( NOW( ) ) , INTERVAL WEEK( NOW( ) ) WEEK ) AS `start_of_week`
但我得到的只是NULL
我该怎么做?
此外,STR_TO_DATE函数。将您的年和周连接在一起,然后是所需的字符串日期格式,然后可以转换为日期时间
SELECT STR_TO_DATE('201003 Monday', '%X%V %W');
这将返回2011-05-30,所以如果你一周的第一天是星期一就好了,否则你应该再减去一天
我不确定你每周/每年用了什么
SELECT STR_TO_DATE('201003 Monday', '%X%V %W');
SELECT DATE_ADD( DATE( NOW() ) , INTERVAL -WEEKDAY( NOW() ) DAY ) AS `start_of_week`