メインコンテンツまでスキップ
バージョン: Latest-3.4

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)