Die YEARWEEK SQL-Funktion in MySQL und MariaDB - Jahr und Woche von Datum |
|
| YEARWEEK | Syntax: | YEARWEEK(Datum [, Modus]) | Rückgabe-Wert: | INTEGER | Funktions-Typ: | Datum und Zeit-Funktion | |
| | Die SQL-Funktion YEARWEEK() gibt Jahr und Woche von "Datum" zurück.
Das Argument "Datum" muss vom Typ DATE oder DATETIME sein.
Mit dem Argument "Modus" kann angeben werden, ob die Woche des Jahres 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 YEARWEEK()-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 YEARWEEK-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 yearweek(now());
SELECT yearweek(adddate(now(), interval 1 day));
SELECT yearweek(utc_timestamp());
SELECT yearweek('2023-03-29');
SELECT yearweek('2023-03-29 12:15:30');
SELECT yearweek(20230216);
SELECT yearweek(20230216121530);
SELECT yearweek('2022-01-02', 0);
SELECT yearweek('2022-01-02', 1);
SELECT yearweek('2022-01-02', 2);
SELECT yearweek('2022-01-02', 3);
SELECT yearweek('2022-01-02', 4);
SELECT yearweek('2022-01-02', 5);
SELECT yearweek('2022-01-02', 6);
SELECT yearweek('2022-01-02', 7);
SELECT yearweek('2023-00-00');
SELECT yearweek(unix_timestamp());
SELECT yearweek('xxx');
SELECT yearweek(null);
SHOW VARIABLES LIKE 'default_week_format';
|
|
yearweek(now()) |
int(6) |
202314 |
|
|
yearweek(adddate(now(), interval 1 day)) |
int(6) |
202314 |
|
|
yearweek(utc_timestamp()) |
int(6) |
202314 |
|
|
yearweek('2023-03-29') |
int(6) |
202313 |
|
|
yearweek('2023-03-29 12:15:30') |
int(6) |
202313 |
|
|
yearweek(20230216) |
int(6) |
202307 |
|
|
yearweek(20230216121530) |
int(6) |
202307 |
|
|
yearweek('2022-01-02', 0) |
int(6) |
202201 |
|
|
yearweek('2022-01-02', 1) |
int(6) |
202152 |
|
|
yearweek('2022-01-02', 2) |
int(6) |
202201 |
|
|
yearweek('2022-01-02', 3) |
int(6) |
202152 |
|
|
yearweek('2022-01-02', 4) |
int(6) |
202201 |
|
|
yearweek('2022-01-02', 5) |
int(6) |
202152 |
|
|
yearweek('2022-01-02', 6) |
int(6) |
202201 |
|
|
yearweek('2022-01-02', 7) |
int(6) |
202152 |
|
|
yearweek('2023-00-00') |
int(6) |
NULL |
|
|
yearweek(unix_timestamp()) |
int(6) |
NULL |
|
|
yearweek('xxx') |
int(6) |
NULL |
|
|
yearweek(null) |
int(6) |
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 YEARWEEK() Funktion in MySQL und MariaDB-Datenbanken | In MySQL und MariaDB kann die YEARWEEK()-Funktion verwendet werden, um das Jahr und die Wochennummer für ein bestimmtes "Datum" oder einen "Datums- und Uhrzeit"-Ausdruck zu erhalten. Die Funktion gibt einen ganzzahligen Wert zurück, der das Jahr und die Woche kombintert im Format "YYYYWW" enthält, wobei beim Wochenanteil 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 der Wochenanteil berechnet wird. Das kann je nach angegebenem Modus variieren. Der Standardmodus 0.
Es können Tabellen-Spaltennamen oder andere Ausdrücke als Parameter verwendet werden, um in SQL-Abfragen die Kombination aus Jahr und Wochennummer zu ermitteln, mit bestimmten Jahr-Wochen-Kombinationen zu arbeiten oder verschiedene Operationen basierend auf der Jahr-Wochen-Kombination auszuführen, beispielsweise um Abfrage-Ergebnisse nach diesen Werten 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 |
| WEEK | WEEK(Datum [, Modus]) | Mehr zur WEEK-Funktion |
| WEEKDAY | WEEKDAY(Datum) | Mehr zur WEEKDAY-Funktion |
| WEEKOFYEAR | WEEKOFYEAR(Datum) | Mehr zur WEEKOFYEAR-Funktion |
| YEAR | YEAR(Datum) | Mehr zur YEAR-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 YEARWEEK: und und |
|
|
|
|