Die WEEK SQL-Funktion in MySQL und MariaDB - Wochen-Index von Datum |
|
| WEEK | Syntax: | WEEK(Datum [, Modus]) | Rückgabe-Wert: | INTEGER | Funktions-Typ: | Datum und Zeit-Funktion | |
| | Die SQL-Funktion WEEK() gibt den Wochen-Index von "Datum" je nach Angabe von "Modus" im Bereich von 0 bis 53 oder von 1 bis 53 zurück.
Das Argument "Datum" muss vom Typ DATE oder DATETIME sein.
Mit dem Argument "Modus" kann angeben werden, ob die Woche am Sonntag oder Montag beginnt und ob der Rückgabewert im Bereich von 0 bis 53 oder von 1 bis 53 liegen soll.
Wenn das "Modus"-Argument weggelassen wird, wird der Wert der Systemvariablen default_week_format verwendet.
Ist der Wert für "Datum" ungültig oder NULL, gibt die WEEK()-Funktion NULL zurück.
Gültige Angaben für Modus sind:
Modus | 1. Wochentag | Bereich | Woche 1 ist die erste Woche mit |
0 | Sonntag | 0-53 | einem Sonntag in diesem Jahr |
1 | Montag | 0-53 | mehr als 3 Tage in diesem Jahr |
2 | Sonntag | 1-53 | einem Sonntag in diesem Jahr |
3 | Montag | 1-53 | mehr als 3 Tage in diesem Jahr |
4 | Sonntag | 0-53 | mehr als 3 Tage in diesem Jahr |
5 | Montag | 0-53 | einem Montag in diesem Jahr |
6 | Sonntag | 1-53 | mehr als 3 Tage in diesem Jahr |
7 | Montag | 1-53 | einem Montag in diesem Jahr |
| SQL Beispiele für die WEEK-Funktion |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
|
SELECT week(now());
SELECT week(adddate(now(), interval 1 day));
SELECT week(utc_timestamp());
SELECT week('2023-03-29');
SELECT week('2023-03-29 12:15:30');
SELECT week(20230216);
SELECT week(20230216121530);
SELECT week('2022-01-02', 0);
SELECT week('2022-01-02', 1);
SELECT week('2022-01-02', 2);
SELECT week('2022-01-02', 3);
SELECT week('2022-01-02', 4);
SELECT week('2022-01-02', 5);
SELECT week('2022-01-02', 6);
SELECT week('2022-01-02', 7);
SELECT week('2023-00-00');
SELECT week(unix_timestamp());
SELECT week('xxx');
SELECT week(null);
show VARIABLES LIKE 'default_week_format';
|
|
|
week(adddate(now(), interval 1 day)) |
int(2) |
14 |
|
|
week(utc_timestamp()) |
int(2) |
14 |
|
|
week('2023-03-29') |
int(2) |
13 |
|
|
week('2023-03-29 12:15:30') |
int(2) |
13 |
|
|
|
week(20230216121530) |
int(2) |
7 |
|
|
week('2022-01-02', 0) |
int(2) |
1 |
|
|
week('2022-01-02', 1) |
int(2) |
0 |
|
|
week('2022-01-02', 2) |
int(2) |
1 |
|
|
week('2022-01-02', 3) |
int(2) |
52 |
|
|
week('2022-01-02', 4) |
int(2) |
1 |
|
|
week('2022-01-02', 5) |
int(2) |
0 |
|
|
week('2022-01-02', 6) |
int(2) |
1 |
|
|
week('2022-01-02', 7) |
int(2) |
52 |
|
|
week('2023-00-00') |
int(2) |
NULL |
|
|
week(unix_timestamp()) |
int(2) |
NULL |
|
|
|
|
Variable_name | |
|
Value | |
|
information_schema.SESSION_VARIABLES VARIABLE_NAME varchar(64) UTF8 | information_schema.SESSION_VARIABLES VARIABLE_VALUE varchar(2048) UTF8 |
default_week_format | 0 |
|
|
|
| Die Beispiele wurden mit dem MyWAY SQL-Manager erstellt: | Verwendung der WEEK() Funktion in MySQL und MariaDB-Datenbanken | In MySQL und MariaDB wird die Funktion WEEK() verwendet, um die Wochennummer für ein bestimmtes "Datum" oder einen "Datums- und Uhrzeit"-Ausdruck abzurufen. Die Funktion gibt einen ganzzahligen Wert zurück, der die Woche des Jahres angibt, wobei der kleinste Wert die Woche mit dem ersten Tag des Jahres und der größte Wert die Woche mit dem letzten Tag des Jahres darstellt. Als optionaler Parameter kann der Modus angegeben werden, der bestimmt, wie die Wochennummer berechnet wird. Das Ergebnis kann je nach angegebenem Modus variieren. Der Standardmodus ist 0.
Es können Tabellen-Spaltennamen oder andere Ausdrücke als Parameter verwendet werden, um in SQL-Abfragen die Wochennummer zu ermitteln, mit bestimmten Wochen zu arbeiten oder verschiedene Operationen basierend auf der Wochennummer auszuführen, beispielsweise um Abfrage-Ergebnisse nach Wochennummer zu sortiren, summieren oder zu gruppieren. | | Weitere MySQL und MariaDB SQL Datum und Zeit-Funktionen | ADDDATE | ADDDATE(Datum, [INTERVAL] Anzahl [Einheit]) | Mehr zur ADDDATE-Funktion |
| ADDTIME | ADDTIME(Datum, Ausdruck) | Mehr zur ADDTIME-Funktion |
| CONVERT_TZ | CONVERT_TZ(Datum, Von Zeitzone, Zu Zeitzone) | Mehr zur CONVERT_TZ-Funktion |
| CURDATE | CURDATE() | Mehr zur CURDATE-Funktion |
| CURTIME | CURTIME([Genauigkeit]) | Mehr zur CURTIME-Funktion |
| CURRENT_DATE | CURRENT_DATE(-) | Mehr zur CURRENT_DATE-Funktion |
| CURRENT_TIME | CURRENT_TIME([Genauigkeit]) | Mehr zur CURRENT_TIME-Funktion |
| CURRENT_TIMESTAMP | CURRENT_TIMESTAMP([Genauigkeit]) | Mehr zur CURRENT_TIMESTAMP-Funktion |
| DATE | DATE(Datum und Uhrzeit) | Mehr zur DATE-Funktion |
| DATE_ADD | DATE_ADD(Datum, INTERVAL Anzahl Einheit) | Mehr zur DATE_ADD-Funktion |
| DATE_SUB | DATE_SUB(Datum, INTERVAL Anzahl Einheit) | Mehr zur DATE_SUB-Funktion |
| FROM_DAYS | FROM_DAYS(Anzahl Tage) | Mehr zur FROM_DAYS-Funktion |
| FROM_UNIXTIME | FROM_UNIXTIME(Unix-Timestamp [, Format]) | Mehr zur FROM_UNIXTIME-Funktion |
| LOCALTIME | LOCALTIME([Genauigkeit]) | Mehr zur LOCALTIME-Funktion |
| LOCALTIMESTAMP | LOCALTIMESTAMP([Genauigkeit]) | Mehr zur LOCALTIMESTAMP-Funktion |
| MAKEDATE | MAKEDATE(Jahr, Tag vom Jahr) | Mehr zur MAKEDATE-Funktion |
| MAKETIME | MAKETIME(Stunden, Minuten, Sekunden) | Mehr zur MAKETIME-Funktion |
| NOW | NOW([Genauigkeit]) | Mehr zur NOW-Funktion |
| SEC_TO_TIME | SEC_TO_TIME(Sekunden) | Mehr zur SEC_TO_TIME-Funktion |
| SLEEP | SLEEP(Sekunden) | Mehr zur SLEEP-Funktion |
| STR_TO_DATE | STR_TO_DATE(Zeichenkette, Format) | Mehr zur STR_TO_DATE-Funktion |
| SUBDATE | SUBDATE(Datum, [INTERVAL] Anzahl [Einheit]) | Mehr zur SUBDATE-Funktion |
| SUBTIME | SUBTIME(Datum und Uhrzeit, Abzug) | Mehr zur SUBTIME-Funktion |
| SYSDATE | SYSDATE() | Mehr zur SYSDATE-Funktion |
| TIME | TIME(Datum und Uhrzeit) | Mehr zur TIME-Funktion |
| TIMEDIFF | TIMEDIFF(Datum 1, Datum 2) | Mehr zur TIMEDIFF-Funktion |
| TIMESTAMP | TIMESTAMP(Datum [, Addition]) | Mehr zur TIMESTAMP-Funktion |
| TIMESTAMPADD | TIMESTAMPADD(Einheit, Anzahl, Datum) | Mehr zur TIMESTAMPADD-Funktion |
| TIMESTAMPDIFF | TIMESTAMPDIFF(Einheit, Datum 1, Datum 2) | Mehr zur TIMESTAMPDIFF-Funktion |
| UTC_DATE | UTC_DATE() | Mehr zur UTC_DATE-Funktion |
| UTC_TIME | UTC_TIME([Genauigkeit]) | Mehr zur UTC_TIME-Funktion |
| UTC_TIMESTAMP | UTC_TIMESTAMP([Genauigkeit]) | Mehr zur UTC_TIMESTAMP-Funktion |
| DAY | DAY(Datum) | Mehr zur DAY-Funktion |
| DAYOFMONTH | DAYOFMONTH(Datum) | Mehr zur DAYOFMONTH-Funktion |
| DAYOFWEEK | DAYOFWEEK(Datum) | Mehr zur DAYOFWEEK-Funktion |
| DAYOFYEAR | DAYOFYEAR(Datum) | Mehr zur DAYOFYEAR-Funktion |
| EXTRACT | EXTRACT(Einheit FROM Datum) | Mehr zur EXTRACT-Funktion |
| HOUR | HOUR(Datum und Uhrzeit) | Mehr zur HOUR-Funktion |
| MICROSECOND | MICROSECOND(Datum und Uhrzeit) | Mehr zur MICROSECOND-Funktion |
| MINUTE | MINUTE(Datum und Uhrzeit) | Mehr zur MINUTE-Funktion |
| MONTH | MONTH(Datum) | Mehr zur MONTH-Funktion |
| QUARTER | QUARTER(Datum) | Mehr zur QUARTER-Funktion |
| SECOND | SECOND(Datum und Uhrzeit) | Mehr zur SECOND-Funktion |
| TIME_TO_SEC | TIME_TO_SEC(Uhrzeit) | Mehr zur TIME_TO_SEC-Funktion |
| TO_DAYS | TO_DAYS(Datum) | Mehr zur TO_DAYS-Funktion |
| TO_SECONDS | TO_SECONDS(Datum und Uhrzeit) | Mehr zur TO_SECONDS-Funktion |
| UNIX_TIMESTAMP | UNIX_TIMESTAMP([Datum und Uhrzeit]) | Mehr zur UNIX_TIMESTAMP-Funktion |
| WEEKDAY | WEEKDAY(Datum) | Mehr zur WEEKDAY-Funktion |
| WEEKOFYEAR | WEEKOFYEAR(Datum) | Mehr zur WEEKOFYEAR-Funktion |
| YEAR | YEAR(Datum) | Mehr zur YEAR-Funktion |
| YEARWEEK | YEARWEEK(Datum [, Modus]) | Mehr zur YEARWEEK-Funktion |
| DAYNAME | DAYNAME(Datum) | Mehr zur DAYNAME-Funktion |
| DATE_FORMAT | DATE_FORMAT(Datum und Uhrzeit, Format) | Mehr zur DATE_FORMAT-Funktion |
| GET_FORMAT | GET_FORMAT(Typ, Format) | Mehr zur GET_FORMAT-Funktion |
| MONTHNAME | MONTHNAME(Datum) | Mehr zur MONTHNAME-Funktion |
| TIME_FORMAT | TIME_FORMAT(Uhrzeit, Format) | Mehr zur TIME_FORMAT-Funktion |
|
|
| | Weitere Informationen zur SQL-Funktion WEEK: und und |
|
|
|
|