yearweek
Возвращает год и номер недели для заданной даты. Эта функция работает так же, как функция yearweek() в MySQL.
Эта функция поддерживается начиная с версии 3.3.
Синтаксис
INT YEARWEEK(DATETIME|DATE date[, INT mode])
Параметры
date: поддерживаемые типы данных - DATETIME и DATE.mode: необязательный. Поддерживаемый тип данных - INT. Этот параметр используется для указания логики вычисления номера недели года: начинается ли неделя с воскресенья или понедельника, и находится л и возвращаемое значение в диапазоне 053 или 153. Диапазон значений: 0~7. Значение по умолчанию:0. Если этот параметр не указан, по умолчанию используется режим0. В следующей таблице описано, как работает этот параметр.
| Режим | Первый день недели | Диапазон | Неделя 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 | с понедельником в этом году |
Возвращаемое значение
Возвращает значение типа INT. Диапазон значений: 0~53. Конкретный диапазон определяется на основе параметра mode. Возвращает NULL, если значение date недопустимо или входное значение пустое.
Примеры
Возвращает год и неделю для даты. Значение аргумента 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)