给定MySQL中的日期,我如何确定星期的相对开始时间?

问题描述

| 我的桌子上有一列
date_time
。 我如何获取星期几的日期,即日期“ 1”将返回“ 2”? 我查看过MysqL Date函数,但无法弄清楚该怎么做。 我尝试过这样的事情...
DATE_ADD( YEAR( Now( ) ),INTERVAL WEEK( Now( ) ) WEEK ) AS `start_of_week` 
但是我得到的只是
NULL
。 我该怎么做呢?     

解决方法

        如果您不介意先转换为日期(从DateTime开始)
DATE_ADD(mydate,INTERVAL(1-DAYOFWEEK(mydate)) DAY)
另外,也可以使用STR_TO_DATE函数。将您的年和周连接在一起,然后输入所需的字符串日期格式,然后将其转换为日期时间。
SELECT STR_TO_DATE(\'201003 Monday\',\'%X%V %W\');
    ,        
SELECT DATE_ADD( DATE( NOW() ),INTERVAL -WEEKDAY( NOW() ) DAY ) AS `start_of_week` 
这将返回2011-05-30,所以如果您一周的第一天为星期一,将是很好的选择,否则您应该再减去一天。 我不确定您一周/一年使用了什么