yearweek
指定された日付の年と週番号を返します。この関数は MySQL の yearweek() 関数と同様に動作します。
この関数は v3.3 以降でサポートされています。
Syntax
INT YEARWEEK(DATETIME|DATE date[, INT mode])
Parameters
date
: サポートされているデータ型は DATETIME と DATE です。mode
: 任意。サポートされているデータ型は INT です。このパラメータは、年週番号を計算するロジック、つまり週の開始日が日曜日か月曜日か、返される値が 053 の範囲か 153 の範囲かを指定するために使用されます。値の範囲: 0~7。デフォルト値:0
。このパラメータが指定されていない場合、デフォルトでモード0
が使用されます。以下の表は、このパラメータの動作を説明しています。
Mode | 週の最初の日 | 範囲 | 第1週は… |
---|---|---|---|
0 | 日曜日 | 0-53 | その年に日曜日がある週 |
1 | 月曜日 | 0-53 | その年に4日以上ある週 |
2 | 日曜日 | 1-53 | その年に日曜日がある週 |
3 | 月曜日 | 1-53 | その年に4日以上ある週 |
4 | 日曜日 | 0-53 | その年に4日以上ある週 |
5 | 月曜日 | 0-53 | その年に月曜日がある週 |
6 | 日曜日 | 1-53 | その年に4日以上ある週 |
7 | 月曜日 | 1-53 | その年に月曜日がある週 |
Return value
INT 型の値を返します。値の範囲: 0~53。具体的な範囲は mode
パラメータに基づいて決定されます。date
の値が無効または入力値が空の場合、NULL
が返されます。
Examples
日付の年と週を返します。mode 引数の値はデフォルトで 0 です。
mysql> SELECT YEARWEEK('2007-01-01', 0);
+---------------------------+
| yearweek('2007-01-01', 0) |
+---------------------------+
| 200653 |
+---------------------------+
mysql> SELECT YEARWEEK('2007-01-01', 1);
+---------------------------+
| yearweek('2007-01-01', 1) |
+---------------------------+
| 200701 |
+---------------------------+
mysql> SELECT YEARWEEK('2007-01-01', 2);
+---------------------------+
| yearweek('2007-01-01', 2) |
+---------------------------+
| 200653 |
+---------------------------+
1 row in set (0.01 sec)