我使用mysql的week()函數來確定從日期開始的週數。問題是我面對的是它總是從實際的週數中返回少一個數字。假設今天是2013-05-15,因爲它是今年的第20周,但結果是19.以下是我正在使用的查詢。mysql week()函數返回少於一個實際的週數
SELECT *,WEEK(date_visit) AS week_no FROM property_view_details;
我使用mysql的week()函數來確定從日期開始的週數。問題是我面對的是它總是從實際的週數中返回少一個數字。假設今天是2013-05-15,因爲它是今年的第20周,但結果是19.以下是我正在使用的查詢。mysql week()函數返回少於一個實際的週數
SELECT *,WEEK(date_visit) AS week_no FROM property_view_details;
直起:
mysql> SELECT WEEK('2008-02-20',1);
-> 8
您可以通過第二個參數設置爲改變WEEK
行爲或分別針對0索引或1索引結果的0
或1
。
感謝它的工作 – Farhan
參數'1'將使它保持零索引,但將星期計數更改爲ISO標準,即星期一開始的星期,第一週是新年裏超過三天的星期。 '2'相當於默認模式,只改變了零索引。 –
將第二個參數week
設置爲正確的值。
引用文檔: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_week
M F.day Range Week 1 is the first week …
0 Sunday 0-53 with a Sunday in this year
1 Monday 0-53 with more than 3 days this year
2 Sunday 1-53 with a Sunday in this year
3 Monday 1-53 with more than 3 days this year
4 Sunday 0-53 with more than 3 days this year
5 Monday 0-53 with a Monday in this year
6 Sunday 1-53 with more than 3 days this year
7 Monday 1-53 with a Monday in this year
M = Mode
F.day = First day of week
樣品:
mysql> SELECT WEEK('2008-02-20',0);
-> 7
mysql> SELECT WEEK('2008-02-20',1);
-> 8
manual應該說明這一點。
default_week_format
可能設置爲默認0
,這意味着該周從零開始計數。嘗試將其更改爲1
,或者只是調整查詢以解釋更改。
研究只是一個簡單的谷歌的功能操作變成了這個:http://www.w3resource.com/mysql/date-and-time-functions/mysql-week-function.php
總之,你可以將操作模式切換至功能。也就是說,本週開始的一天,就是否應該在0或1
例如,SELECT WEEK(date_visit, 2)
啓動將與周開始在週日,從1
最好的運氣計數開始計數。
那麼你的問題是什麼?給結果添加1似乎並不困難:) –
不,我不想在結果中添加一個:)我只想得到20不是19 – Farhan
[閱讀文檔並修復您的錯誤](http:// dev .mysql.com/DOC/refman/5.5/EN /日期和時間functions.html#function_week)。 – Jocelyn