2010-06-09 33 views
2

我試圖獲得YEARWEEK函數來查看週日作爲一週中的第一天。如何獲得YEARWEEK()將週日視爲本週的開始?

一個例子日期是:星期天2009年3月1日

這裏是我的SQL

SELECT YEARWEEK('2009-03-01') 

,其結果是

- > 200909

哪個9.我相信周它告訴我這是第9周,因爲它認爲星期日是前一週的最後一天。

我該如何獲得這個函數來查看星期日作爲一週的第一天,因此返回爲第10周?

+0

'SELECT DATE_FORMAT('2009-03-01','%Y%U')'也返回'200909' - 我認爲您對200910的看法是錯誤的:http://dev.mysql.com/ DOC/refman/5.1/EN /日期和時間functions.html#function_date格式 – 2010-06-09 16:31:55

回答

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 ...)

相關問題