Der erste Weg besteht darin, die Funktion zu verwenden DATE_FORMAT Damit können Sie das Datum und die Uhrzeit entsprechend dem angegebenen Muster formatieren. Wenn eine Tabelle beispielsweise eine Spalte "date" enthält, die ein Datum und eine Uhrzeit im Format YYYY-MM-DD HH:MM:SS enthält, können Sie die folgende SQL-Abfrage verwenden:
SELECT DATE_FORMAT(date, '%%d.%%m.%%Y %%H:%%i:%%s') FROM table;
Die zweite Methode beinhaltet die Verwendung der Funktion UNIX_TIMESTAMP, die die Anzahl der Sekunden zurückgibt, die seit 1970-01-01 00:00:00 UTC vergangen sind. Der resultierende Wert kann dann an die Funktion übergeben werden FROM_UNIXTIME, die es in das Standarddatums- und Uhrzeitformat konvertiert. Zum Beispiel:
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(date)) FROM table;
Sie können auch die Funktion verwenden NOW, die das aktuelle Datum und die aktuelle Uhrzeit zurückgibt. Zum Beispiel:
SELECT NOW() FROM table;
So erhalten Sie Zeit mit MySQL: Effektive Methoden und nützliche Tipps
MySQL bietet mehrere Möglichkeiten, um Zeit aus einer Datenbank zu erhalten. In diesem Abschnitt werden wir einige der effektivsten Methoden durchgehen und hilfreiche Tipps teilen, die Ihnen helfen, die aktuelle Zeit von MySQL zu erhalten.
1. Verwenden Sie die Funktion NOW() oder CURRENT_TIMESTAMP()
Die Funktionen NOW() und CURRENT_TIMESTAMP() geben das aktuelle Datum und die aktuelle Uhrzeit im Format 'JJJJ-MM-TT HH:MM:SS' zurück. Sie können diese Funktionen in Ihren SQL-Abfragen verwenden, um die aktuelle Uhrzeit aus einer MySQL-Datenbank abzurufen.
SELECT NOW() AS current_time;SELECT CURRENT_TIMESTAMP() AS current_time;
2. Verwenden Sie die Funktion DATE_FORMAT()
Mit der Funktion DATE_FORMAT() können Sie das Datum und die Uhrzeit nach Ihren Bedürfnissen formatieren. Sie können verschiedene Formatbezeichner verwenden, um die gewünschte Zeitdarstellung zu erstellen.
SELECT DATE_FORMAT(NOW(), '%H:%i:%s') AS formatted_time;
3. Verwenden Sie die Funktion UNIX_TIMESTAMP()
Die Funktion UNIX_TIMESTAMP() gibt die Anzahl der Sekunden zurück, die seit dem 1. Januar 1970, 00:00:00 UTC, vor dem angegebenen Datum und der angegebenen Uhrzeit verstrichen sind. Sie können diese Funktion verwenden, um die Zeit im Unix-Timestamp-Format von MySQL abzurufen.
SELECT UNIX_TIMESTAMP(NOW()) AS unix_timestamp;
4. Verwenden Sie die TIMESTAMP Spalte
Wenn Sie eine TIMESTAMP Spalte in Ihrer Tabelle haben, können Sie sie verwenden, um die aktuelle Zeit abzurufen. Der TIMESTAMP wird automatisch aktualisiert, wenn sich ein Datensatz in der Tabelle ändert, und Sie können die letzten Änderungen im Zeitfeld abrufen.
SELECT last_modified FROM your_table;
5. Verwenden Sie die Funktion SYSDATE()
Die Funktion SYSDATE() gibt das aktuelle Datum und die aktuelle Uhrzeit im Format 'JJJJ-MM-TT HH:MM:SS' zurück. Sie können diese Funktion in Ihren SQL-Abfragen verwenden, um die aktuelle Uhrzeit aus einer MySQL-Datenbank abzurufen.
SELECT SYSDATE() AS current_time;
Funktionen zum Arbeiten mit der Zeit in MySQL
MySQL bietet viele Funktionen, mit denen Sie bequem mit Zeitdaten arbeiten können. Im Folgenden sind einige der nützlichsten Funktionen aufgeführt:
- NOW() - Gibt das aktuelle Datum und die aktuelle Uhrzeit im Format "JJJJ-MM-TT HH:MM:SS" zurück.
- DATE() - Ruft das Datum aus dem übergebenen Datum oder der übergebenen Uhrzeit ab.
- TIME() - Ruft die Uhrzeit aus dem übergebenen Datum oder der übergebenen Uhrzeit ab.
- DATEDIFF(date1, date2) - Gibt die Differenz in Tagen zwischen zwei Daten zurück.
- DATE_ADD(date, INTERVAL value unit) - Fügt dem Datum eine bestimmte Zeit hinzu.
- DATE_SUB(date, INTERVAL value unit) - subtrahiert eine bestimmte Zeit vom Datum.
- EXTRACT(unit FROM date) - Extrahiert einen bestimmten Teil der Zeit aus einem Datum oder einer Uhrzeit.
Dies sind nur einige der Funktionen, die MySQL zur Verfügung stellt, um mit der Zeit zu arbeiten. Wenn Sie diese Funktionen kennen, können Sie problemlos verschiedene Datums- und Uhrzeitoperationen in Ihrer Datenbank durchführen.
Verwenden der NOW() -Funktion, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen
Die NOW() -Funktion in MySQL ermöglicht es Ihnen, das aktuelle Datum und die aktuelle Uhrzeit im Format TT-MM-JJJJ HH:MM:SS zu erhalten. Sie ist sehr praktisch für Operationen, die Kenntnisse über die aktuelle Uhrzeit erfordern, wie z. B. Ereignisprotokollierung oder Protokollierung.
Um das aktuelle Datum und die aktuelle Uhrzeit mit NOW() abzurufen, müssen Sie eine einfache SQL-Abfrage ausführen:
SELECT NOW();
Das Ergebnis dieser Abfrage ist eine einzelne Zeile mit dem aktuellen Datum und der aktuellen Uhrzeit. Sie könnten auch daran interessiert sein, nur das Datum oder nur die Uhrzeit zu erhalten. Dazu können Sie die Funktionen DATE() bzw. TIME() verwenden:
SELECT DATE(NOW()); // получение текущей датыSELECT TIME(NOW()); // получение текущего времени
Die Funktion NOW() ist praktisch und effizient, da Sie keine Argumentübergabe erfordert und das aktuelle Datum und die aktuelle Uhrzeit automatisch über den MySQL-Server zurückgibt. Dadurch werden Synchronisierungsprobleme vermieden und die Genauigkeit der Daten gewährleistet.
Beachten Sie jedoch, dass die Funktion NOW() das Datum und die Uhrzeit entsprechend der auf dem MySQL-Server konfigurierten Zeitzone zurückgibt. Wenn Sie das Datum und die Uhrzeit in einer anderen Zeitzone abrufen möchten, können Sie die Funktion CONVERT_TZ() verwenden, indem Sie die gewünschte Zeitzone als Argument angeben:
SELECT CONVERT_TZ(NOW(), 'UTC', 'Europe/Moscow');
Diese Abfrage gibt das aktuelle Datum und die aktuelle Uhrzeit in der Zeitzone Europe/Moscow zurück.
Zeit aus einer bestimmten Spalte in einer MySQL-Tabelle abrufen
1. Verwenden der Funktionen DATE_FORMAT und SELECT
Eine der häufigsten Methoden zum Abrufen von Zeit aus einer Spalte in einer MySQL-Tabelle besteht darin, die DATE_FORMAT-Funktion in Verbindung mit einer SELECT-Anweisung zu verwenden.
SELECT DATE_FORMAT(column_name, format) FROM table_name;
Geben Sie anstelle von column_name den Namen der Spalte an, die temporäre Daten enthält, und anstelle von format das gewünschte Format für die Zeitanzeige an. Wenn Sie beispielsweise die Uhrzeit im Format "HH:MM:SS" anzeigen möchten, müssen Sie den folgenden Code verwenden:
SELECT DATE_FORMAT(time_column, '%H:%i:%s') FROM table_name;
2. Verwenden von TIME_FORMAT und SELECT
Eine weitere praktische Möglichkeit, Zeit aus einer Spalte in einer Tabelle abzurufen, besteht darin, die Funktion TIME_FORMAT in Verbindung mit einer SELECT-Anweisung zu verwenden.
SELECT TIME_FORMAT(column_name, format) FROM table_name;
Anstelle von column_name wird der Name der Spalte mit temporären Daten angegeben, und anstelle von format wird das Format für die Zeitanzeige verwendet. Um beispielsweise die Uhrzeit im Format "HH:MM:SS" anzuzeigen, müssen Sie den folgenden Code verwenden:
SELECT TIME_FORMAT(time_column, '%H:%i:%s') FROM table_name;
3. Verwenden von EXTRACT und SELECT
Eine andere Möglichkeit, die Zeit aus einer Spalte in einer MySQL-Tabelle abzurufen, besteht darin, die EXTRACT-Funktion in Verbindung mit einer SELECT-Anweisung zu verwenden.
SELECT EXTRACT(part FROM column_name) FROM table_name;
Anstelle von column_name wird der Spaltenname angegeben und anstelle von part der erforderliche Teil der Zeit (Jahr, Monat, Tag, Stunde, Minute, Sekunde usw.). Verwenden Sie beispielsweise den folgenden Code, um eine Stunde aus einer temporären Spalte abzurufen:
SELECT EXTRACT(HOUR FROM time_column) FROM table_name;
Wenn Sie diese Abfragen ausführen, erhalten Sie die Zeit aus einer bestimmten Spalte in einer MySQL-Tabelle im angegebenen Format oder einem ausgewählten Teil der Zeit. Verwenden Sie diese Methoden entsprechend den Anforderungen Ihres Projekts, um die temporären Daten korrekt anzuzeigen.
Extrahieren von Zeit aus UNIX-Stempeln in MySQL
Es gibt verschiedene Funktionen in MySQL, mit denen Sie Zeit aus UNIX-Stempeln extrahieren können. Der UNIX-Stempel stellt die Anzahl der Sekunden seit dem 1. Januar 1970 dar.
Eine solche Funktion ist FROM_UNIXTIME, die einen UNIX-Stempel in eine Zeittextdarstellung konvertiert:
SELECT FROM_UNIXTIME(timestamp) AS timeFROM table_name;
Diese Abfrage ruft das Feld ab timestamp aus der Tabelle table_name und konvertiert es in eine Textdarstellung der Zeit in einem neuen Feld mit dem Namen time.
Wenn Sie nur die Stunden, Minuten und Sekunden aus dem UNIX-Stempel extrahieren möchten, können Sie die Funktion verwenden DATE_FORMAT:
SELECT DATE_FORMAT(FROM_UNIXTIME(timestamp), '%H:%i:%s') AS timeFROM table_name;
Diese Abfrage ruft nur die Stunden, Minuten und Sekunden aus dem Feld ab timestamp und präsentiert sie im Format "Stunden:Minuten:Sekunden" im Feld time.
Sie können auch die Funktion verwenden DATE, um nur das Datum aus dem UNIX-Stempel zu extrahieren:
SELECT DATE(FROM_UNIXTIME(timestamp)) AS dateFROM table_name;
Diese Abfrage ruft nur das Datum aus dem Feld ab timestamp und stellt es im Standardformat "Jahr-Monat-Tag" im Feld dar date.
Mit diesen Funktionen können Sie temporäre Daten bequem aus UNIX-Stempeln in MySQL extrahieren und präsentieren.
Formatieren der Zeit in MySQL mit der DATE_FORMAT-Funktion
MySQL bietet eine DATE_FORMAT-Funktion, mit der Sie temporäre Daten nach einem bestimmten Muster formatieren können. Dies ist sehr praktisch, wenn Sie Datum und Uhrzeit in einem bestimmten Format ausgeben oder andere Zeitmanipulationen durchführen müssen.
Beispiel für die Verwendung der DATE_FORMAT-Funktion:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date;
In diesem Beispiel wird die DATE_FORMAT-Funktion verwendet, um die aktuelle Uhrzeit zu formatieren. Das Muster '%Y-%m-%d' gibt an, dass das Ausgabeformat JJJJ-MM-TT sein muss. Als Ergebnis der Abfrage erhalten wir ein formatiertes Datum als '2025-01-01'.
Mit der DATE_FORMAT-Funktion können Sie auch andere temporäre Daten formatieren, z. B. das Datum und die Uhrzeit, zu dem der Datensatz in der Tabelle erstellt wurde. Zum Beispiel:
SELECT DATE_FORMAT(created_at, '%d.%m.%Y %H:%i:%s') AS formatted_datetime FROM table_name;
Mit der DATE_FORMAT-Funktion können Sie verschiedene Formatierungsmuster verwenden, um das gewünschte Ergebnis zu erhalten. Zum Beispiel können Sie '%W, %M %d, %Y' für das Format "Vollständiger Wochentagsname, vollständiger Monatsname DD, JJJJ" oder '%h:%i %p' für das Format "hh:mm AM/PM" verwenden.
Abrufen der Zeit in einem bestimmten Format mit der DATE_FORMAT-Funktion
MySQL verfügt über eine DATE_FORMAT-Funktion, mit der Sie die Zeit in einem bestimmten Format abrufen können. Die DATE_FORMAT-Funktion akzeptiert zwei Argumente: die zu formatierende Uhrzeit oder das zu formatierende Datum und die Formatzeichenfolge.
Beispiel für die Verwendung der DATE_FORMAT-Funktion:
SELECT DATE_FORMAT(`time_column`, '%H:%i') FROM `table_name`;
In diesem Beispiel wählen wir die Uhrzeit aus der Spalte `time_column` in der Tabelle `table_name` aus und formatieren sie im Format Stunden:Minuten. Das Ergebnis wird zum Beispiel wie 10:30 aussehen.
Darüber hinaus kann die DATE_FORMAT-Funktion zum Formatieren eines Datums verwendet werden. Zum Beispiel:
SELECT DATE_FORMAT(`date_column`, '%Y-%m-%d') FROM `table_name`;
In diesem Beispiel wählen wir ein Datum aus der Spalte `date_column` in der Tabelle `table_name` aus und formatieren es im Format Jahr-Monat-Tag. Das Ergebnis wird zum Beispiel wie 2020-12-31 aussehen.
Mit der Funktion DATE_FORMAT können Sie die Zeit- und Datumsformatierung in MySQL flexibel steuern und das Ergebnis auf eine für Sie bequeme Weise erhalten.
Abrufen von Daten für einen bestimmten Zeitraum mithilfe des BETWEEN-Operators
Mit dem Operator ZWISCHEN können Sie alle Werte auswählen, die sich innerhalb eines bestimmten Bereichs befinden. Wenn Sie beispielsweise eine Spalte "Datum" in einer Tabelle haben und alle Datensätze auswählen möchten, die zwischen dem 1. Januar 2025 und dem 31. Dezember 2025 erstellt wurden, können Sie die folgende Abfrage verwenden:
SELECT * FROM Tabelle WHERE Datum BETWEEN '2025-01-01' AND '2025-12-31';
Daher werden nur Datensätze, die die BETWEEN-Bedingung erfüllen, ausgewählt und im resultierenden Dataset zurückgegeben.
Sie können den Operator ZWISCHEN auch verwenden, um Datensätze auszuwählen, die sich außerhalb eines bestimmten Zeitraums befinden. Wenn Sie beispielsweise alle Datensätze auswählen möchten, die im Jahr 2025 nicht erstellt wurden, können Sie die folgende Abfrage verwenden:
SELECT * FROM Tabelle WHERE Datum NOT BETWEEN '2025-01-01' AND '2025-12-31';
Dies ist sehr praktisch, wenn Sie Daten über einen bestimmten Zeitraum abrufen oder einen bestimmten Zeitraum aus einer Stichprobe in einer MySQL-Datenbank ausschließen möchten.
Verwenden der DATE_ADD-Funktion zum Hinzufügen oder Subtrahieren von Zeit in MySQL
MySQL verfügt über eine integrierte DATE_ADD() -Funktion, mit der Sie eine Zeit von einem bestimmten Datum oder einer bestimmten Uhrzeit hinzufügen oder subtrahieren können. Dies ist sehr praktisch, wenn Sie den Zeitwert in Ihrer Datenbank ändern möchten. Die Funktion DATE_ADD() akzeptiert drei Argumente: das ursprüngliche Datum oder die ursprüngliche Uhrzeit, das Zeitintervall und die Maßeinheit des Intervalls.
Die folgende Tabelle zeigt die verfügbaren Intervalleinheiten und ihre Abkürzungen:
| Maßeinheit | Abkürzung |
|---|---|
| Jahr | YEAR |
| Monat | MONTH |
| Der Tag | DAY |
| Stunde | HOUR |
| Eine Minute | MINUTE |
| Sekunde | SECOND |
Beispiel für die DATE_ADD() -Funktion, um dem ursprünglichen Datum 1 Tag hinzuzufügen:
SELECT DATE_ADD('2025-01-01', INTERVAL 1 DAY) AS new_date;
+------------+| new_date |+------------+| 2025-01-02 |+------------+
Beispiel für die Verwendung der Funktion DATE_ADD(), um 1 Stunde von der ursprünglichen Zeit zu subtrahieren:
SELECT DATE_ADD('12:00:00', INTERVAL -1 HOUR) AS new_time;
+----------+| new_time |+----------+| 11:00:00 |+----------+
Sie können auch die Funktion DATE_ADD() im UPDATE-Befehl verwenden, um die Zeitwerte in Ihrer Datenbank zu ändern. Um beispielsweise allen Zeitwerten in der Spalte "time" eine Stunde hinzuzufügen, können Sie den folgenden Befehl verwenden:
UPDATE table_name SET time = DATE_ADD(time, INTERVAL 1 HOUR);
Jetzt wissen Sie, wie Sie die Funktion DATE_ADD() verwenden, um Zeit in MySQL hinzuzufügen oder zu subtrahieren. Dies ist ein sehr nützliches Werkzeug, wenn Sie mit Daten und Zeiten in einer Datenbank arbeiten.
Arbeiten mit Daten und Zeiten in MySQL: Empfehlungen und Tipps
Bei der Arbeit mit einer MySQL-Datenbank ist es wichtig, Daten und Zeitwerte korrekt zu speichern und zu verarbeiten. Dieser Abschnitt enthält einige Empfehlungen und Tipps, die Ihnen helfen, mit Daten und Zeiten in MySQL effizient zu arbeiten.
1. Korrekter Datentyp: Es gibt verschiedene Datentypen in MySQL zum Speichern von Daten und Zeiten, einschließlich DATE, TIME, DATETIME und TIMESTAMP. Die Auswahl des geeigneten Datentyps hängt von den Anforderungen Ihrer Anwendung ab. Der DATETIME-Typ eignet sich beispielsweise zum Speichern des genauen Datums und der Uhrzeit, während der DATE-Typ nur zum Speichern eines Datums ohne Uhrzeit geeignet ist.
2. Verwenden Sie MySQL-Funktionen: MySQL bietet viele Funktionen für die Arbeit mit Daten und Zeiten. Einige der nützlichsten Funktionen umfassen NOW() zum Abrufen des aktuellen Datums und der aktuellen Uhrzeit, DATE_ADD() und DATE_SUB() zum Hinzufügen oder Subtrahieren der Uhrzeit vom Datum und DATE_FORMAT() zum Formatieren von Datum und Uhrzeit.
3. Berücksichtigen Sie die Zeitzone: Bei der Arbeit mit Datums- und Uhrzeiten in MySQL ist es wichtig, die Zeitzone zu berücksichtigen. MySQL bietet Funktionen zum Festlegen und Ändern der Zeitzone an, z. B. SET time_zone() und CONVERT_TZ(). Stellen Sie sicher, dass Sie die richtige Zeitzone für Ihre Datenbank und Anwendung festgelegt haben.
4. Verwenden Sie Indizes: Wenn Sie beim Ausführen von Datenbankabfragen häufig Datums- und Zeitwerte verwenden, wird empfohlen, Indizes für diese Felder zu erstellen. Indizes beschleunigen die Suche und Sortierung von Daten nach Datum und Uhrzeit, wodurch die Leistung Ihrer Anwendung verbessert wird.
5. Optimieren Sie Abfragen: Wenn Ihre Abfragen aufgrund der Arbeit mit Datum und Uhrzeit oft langsam ausgeführt werden, ist es möglicherweise sinnvoll, diese Abfragen zu optimieren. Sie können beispielsweise die Vorberechnung verwenden und das Datum und die Uhrzeit in einem separaten Feld speichern, um zu vermeiden, dass der Wert jedes Mal berechnet werden muss.