3.1 Liste der Funktionen zum Arbeiten mit Datum und Uhrzeit

Datum und Uhrzeit gehören zu den am häufigsten in Datenbanken gespeicherten Datentypen. Deshalb ist die Liste der Funktionen für die Arbeit damit sehr umfangreich. Hier sind die beliebtesten:

# Funktion Beschreibung
1 CURDATE() Gibt das aktuelle Datum zurück
2 CURTIME() Gibt die aktuelle Uhrzeit zurück
3 JETZT(), LOKALZEIT() Gibt das aktuelle Datum und die aktuelle Uhrzeit zurück
4 JAHR() Gibt das Jahr vom Datum zurück
5 MONAT() Gibt den Monat eines Datums zurück
6 DAY(), DAYOFMONTH() Gibt den Tag aus einem Datum zurück
7 STUNDE() Gibt nur Stunden vor der Zeit zurück
8 MINUTE() Gibt die Minuten vor Beginn der Zeit an
9 ZWEITE() Gibt Sekunden von der Zeit zurück
10 TAGNAME() Gibt den Namen des Wochentags zurück: Montag, ...
elf MONTHNAME() Gibt den Namen des Monats zurück: Januar, ...
12 WOCHE() Gibt die Woche eines Datums zurück
13 WOCHENTAG() Gibt die Nummer des Wochentags zurück: Montag - 0, Dienstag - 1
14 WEEKOFYEAR() Gibt die Wochennummer des Jahres zurück
15 WOCHENTAG() Gibt die Nummer des Wochentags zurück: Sonntag – 1, Montag – 2
16 DAYOFYEAR() Gibt den Tag des Jahres zurück: 1-366
17 DATUM() Gibt nur das Datum von einem „datetime“-Objekt zurück
18 DATUM HINZUFÜGEN() Fügt Tage zu einem Datum hinzu
19 SUBDATE() Subtrahiert Tage von einem Datum
20 ZEIT HINZUFÜGEN() Fügt Zeit zu Zeit hinzu
21 SUBTIME() Subtrahiert die Zeit von der Zeit

Ich habe die Funktionen bewusst in kleine Gruppen gruppiert, um das Verständnis für die Arbeit mit ihnen zu erleichtern. Im Folgenden betrachten wir eine Funktion aus jeder Gruppe.

Eine vollständige Liste der Funktionen zum Arbeiten mit Datum und Uhrzeit finden Sie unter dem Link: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

3.2 Aufruffunktionen

Da wir übrigens so viele Funktionen lernen, halte ich es für hilfreich zu erwähnen, dass der Operator SELECTnicht mit verwendet werden muss FROM. Es kann den Wert eines beliebigen Ausdrucks zurückgeben. Den allgemeinen Überblick gibt die Vorlage:

SELECT expression

Und wenn Sie eine Funktion aufrufen möchten, müssen Sie Code schreiben wie:

SELECT function(options)

Im Folgenden gebe ich einige Beispiele für die Funktionsweise des Operators SELECTohne Rückgriff auf Tabellen:

# Anfrage Ergebnis
1 WÄHLEN Sie 1+1 2
2 WÄHLEN Sie 13 MOD 5 3
3 RAND AUSWÄHLEN() 0,20771444235715497
4 SELECT CURDATE() 04.06.2022
5 SELECT CURTIME() 00:06:02
6 JETZT AUSWÄHLEN() 04.06.2022 00:06:43

Und wie Sie in der obigen Tabelle sehen können, müssen Sie nur eine der Funktionen verwenden, um das aktuelle Datum und die aktuelle Uhrzeit zu erhalten:

  • CURDATE()- aktuelles Datum;
  • CURTIME()- aktuelle Uhrzeit;
  • NOW()– aktuelles Datum und Uhrzeit.

3.3 Gruppierung der Daten nach Jahr und Monat

Erinnern wir uns an unsere Aufgabentabelle mit Aufgaben für Mitarbeiter. Versuchen wir, Aufgaben aus dieser Tabelle nach Jahren zu gruppieren. Dazu verwenden wir die Funktion YEAR(), die das Jahr ab dem übergebenen Datum zurückgibt.

Die erste Version unserer Abfrage sieht folgendermaßen aus:

SELECT
    id,
    employee_id ,
    name,
    YEAR(deadline) AS year,
    deadline
FROM task

Das Ergebnis dieser Abfrage wird sein:

Ausweis Angestellten ID Name Jahr Termin
1 1 Beheben Sie einen Fehler im Frontend 2022 01.06.2022
2 2 Beheben Sie einen Fehler im Backend 2022 15.06.2022
3 5 Kaffee kaufen 2022 01.07.2022
4 5 Kaffee kaufen 2022 01.08.2022
5 5 Kaffee kaufen 2022 01.09.2022
6 (NULL) Räumen Sie das Büro auf (NULL) (NULL)
7 4 Das Leben genießen (NULL) (NULL)
8 6 Das Leben genießen (NULL) (NULL)

Wir können sehen, dass alle Zeilen das gleiche Jahr haben, also verwenden wir zwei Felder – Jahr und Monat. Die zweite Version unserer Abfrage sieht folgendermaßen aus:

SELECT
    id,
    employee_id ,
    name,
    YEAR(deadline) AS year,
    MONTH(deadline) AS month,
    deadline
FROM task

Das Ergebnis dieser Abfrage wird sein:

Ausweis Angestellten ID Name Jahr Monat Termin
1 1 Beheben Sie einen Fehler im Frontend 2022 6 01.06.2022
2 2 Beheben Sie einen Fehler im Backend 2022 6 15.06.2022
3 5 Kaffee kaufen 2022 7 01.07.2022
4 5 Kaffee kaufen 2022 8 01.08.2022
5 5 Kaffee kaufen 2022 9 01.09.2022
6 (NULL) Räumen Sie das Büro auf (NULL) (NULL) (NULL)
7 4 Das Leben genießen (NULL) (NULL) (NULL)
8 6 Das Leben genießen (NULL) (NULL) (NULL)

Ich werde Ihnen nicht sagen, wie Sie Aufgaben nach Jahr und Monat gruppieren – Sie haben das bereits gelernt: Verwenden Sie den Operator GROUP BY.