问题描述
|
我的桌子上有一列
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,所以如果您一周的第一天为星期一,将是很好的选择,否则您应该再减去一天。
我不确定您一周/一年使用了什么