yearweek
Описание
Возвращает год и номер недели для заданной даты. Эта функция работает так же, как функция yearweek() в MySQL.
Эта функция поддерживается начиная с версии 1.5.0.
Синтаксис
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)