我正试图通过YEARWEEK功能将星期日视为一周的第一天。
示例日期是:2009年3月1日星期日
这是我的sql
SELECT YEARWEEK('2009-03-01')
,结果是
- > 200909
这是第9周。我相信它告诉我这是第9周,因为它将星期日视为前一周的最后一天。
如何将星期日视为一周的第一天,并将其作为第10周返回?
答案 0 :(得分:5)
根据http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_yearweek,YEARWEEK
有一个可选的第二个参数来控制它。 YEARWEEK('2009-03-01', 0)
应该按照您的要求执行(但请参阅该页面上WEEK
下的可能值表)。
答案 1 :(得分:0)
这样做:
SELECT YEARWEEK('2009-03-01')+IF(WEEKDAY('2009-03-01')=6,1,0);
编辑:这是更好的解决方案,有关详细信息,请点击here:
SELECT YEARWEEK('2009-03-01',0);
(但我不知道你为什么要这样做 - 2009.03.01 在第9周,而不是10 ...)