Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL中给定一个日期,如何确定一周的相对开始时间?_Mysql_Sql_Datetime - Fatal编程技术网

在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`