Spec-Zone.ru › MariaDB

НЕДЕЛЯ

Синтаксис

WEEK(date[,mode])

Описание

Эта функция возвращает номер недели для date. Двухаргументный вариант WEEK() позволяет указать, начинается ли неделя с воскресенья или понедельника, а также, должен ли возвращаемое значение быть в диапазоне от 0 до 53 или от 1 до 53. Если аргумент mode опущен, используется значение системной переменной default_week_format.

Режимы

Режим Первый день недели Диапазон Неделя 1 — это неделя с
0 Воскресенье 0-53 воскресеньем в этом году
1 Понедельник 0-53 более чем 3 днями в этом году
2 Воскресенье 1-53 воскресеньем в этом году
3 Понедельник 1-53 более чем 3 днями в этом году
4 Воскресенье 0-53 более чем 3 днями в этом году
5 Понедельник 0-53 понедельником в этом году
6 Воскресенье 1-53 более чем 3 днями в этом году
7 Понедельник 1-53 понедельником в этом году

С значением режима 3, что означает «более чем 3 днями в этом году», недели нумеруются в соответствии с ISO 8601:1988.

Примеры

SELECT WEEK('2008-02-20');
+--------------------+
| WEEK('2008-02-20') |
+--------------------+
|                  7 |
+--------------------+

SELECT WEEK('2008-02-20',0);
+----------------------+
| WEEK('2008-02-20',0) |
+----------------------+
|                    7 |
+----------------------+

SELECT WEEK('2008-02-20',1);
+----------------------+
| WEEK('2008-02-20',1) |
+----------------------+
|                    8 |
+----------------------+

SELECT WEEK('2008-12-31',0);
+----------------------+
| WEEK('2008-12-31',0) |
+----------------------+
|                   52 |
+----------------------+

SELECT WEEK('2008-12-31',1);
+----------------------+
| WEEK('2008-12-31',1) |
+----------------------+
|                   53 |
+----------------------+

 SELECT WEEK('2019-12-30',3);
+----------------------+
| WEEK('2019-12-30',3) |
+----------------------+
|                    1 |
+----------------------+
CREATE TABLE t1 (d DATETIME);
INSERT INTO t1 VALUES
    ("2007-01-30 21:31:07"),
    ("1983-10-15 06:42:51"),
    ("2011-04-21 12:34:56"),
    ("2011-10-30 06:31:41"),
    ("2011-01-30 14:03:25"),
    ("2004-10-07 11:19:34");
SELECT d, WEEK(d,0), WEEK(d,1) from t1;
+---------------------+-----------+-----------+
| d                   | WEEK(d,0) | WEEK(d,1) |
+---------------------+-----------+-----------+
| 2007-01-30 21:31:07 |         4 |         5 |
| 1983-10-15 06:42:51 |        41 |        41 |
| 2011-04-21 12:34:56 |        16 |        16 |
| 2011-10-30 06:31:41 |        44 |        43 |
| 2011-01-30 14:03:25 |         5 |         4 |
| 2004-10-07 11:19:34 |        40 |        41 |
+---------------------+-----------+-----------+
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/week/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API