Ermitteln des ersten Tages der Woche in MySQL
Beim Umgang mit zeitlichen Daten in Datenbanken ist es oft notwendig, den ersten Tag einer bestimmten Woche zu bestimmen Woche. Dies ist besonders nützlich, um Daten zu gruppieren und Trends im Zeitverlauf zu analysieren.
Die Problemstellung
Ein Benutzer hat eine Abfrage, die Daten nach Wochen gruppiert, möchte aber die erste anzeigen Tag jeder Woche anstelle unterschiedlicher Daten. Sie haben ein Datum (03.01.2011) identifiziert und müssen den entsprechenden ersten Tag der Woche (02.01.2011) abrufen.
Woche beginnt am Sonntag
Wenn die Woche am Sonntag beginnt, kann der folgende MySQL-Ausdruck verwendet werden:
DATE_ADD(mydate, INTERVAL(1-DAYOFWEEK(mydate)) DAY)
Dieser Ausdruck berechnet den ersten Tag des Woche, indem Sie den aktuellen Wochentag (1-basiert) vom angegebenen Datum subtrahieren und dann 1 Tag hinzufügen.
Woche beginnt am Montag
Wenn die Woche beginnt am Montag ist ein anderer Ausdruck erforderlich:
DATE_ADD(mydate, INTERVAL(-WEEKDAY(mydate)) DAY);
In diesem Fall wird zur Bestimmung der aktuelle Wochentag (0-basiert) vom angegebenen Datum subtrahiert die Anzahl der Tage, die zurückgehen müssen, um Montag zu erreichen.
Beispielverwendung
Angenommen, wir haben das folgende Datum, das den 03.01.2011 darstellt:
'2011-01-03'
Wenn davon ausgegangen wird, dass die Woche am Sonntag beginnt, können wir den ersten Ausdruck verwenden, um den ersten Tag der Woche zu finden Woche:
SELECT DATE_ADD('2011-01-03', INTERVAL(1-DAYOFWEEK('2011-01-03')) DAY);
Dies führt zu folgendem Ergebnis:
2011-01-02
Wie erwartet ist der erste Tag der Woche, die am Sonntag beginnt, der 02.01.2011.
Das obige ist der detaillierte Inhalt vonWie finde ich den ersten Tag der Woche in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!