Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datums- und Zeiteinheiten in MySQL (vollständige Liste)

Hier ist eine Liste von Einheiten, die in MySQL-Datumszeit- und Intervallfunktionen verwendet werden können.

unit Wert Erwarteter expr Formatieren
MICROSECOND MICROSECONDS
SECOND SECONDS
MINUTE MINUTES
HOUR HOURS
DAY DAYS
WEEK WEEKS
MONTH MONTHS
QUARTER QUARTERS
YEAR YEARS
SECOND_MICROSECOND 'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND 'MINUTES:SECONDS.MICROSECONDS'
MINUTE_SECOND 'MINUTES:SECONDS'
HOUR_MICROSECOND 'HOURS:MINUTES:SECONDS.MICROSECONDS'
HOUR_SECOND 'HOURS:MINUTES:SECONDS'
HOUR_MINUTE 'HOURS:MINUTES'
DAY_MICROSECOND 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS'
DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS'
DAY_MINUTE 'DAYS HOURS:MINUTES'
DAY_HOUR 'DAYS HOURS'
YEAR_MONTH 'YEARS-MONTHS'

Diese Einheiten können mit + verwendet werden und - Operatoren bei der Durchführung von Arithmetik mit Datumsangaben, mit Funktionen wie ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB() , und EXTRACT() .

Sie können auch im ON SCHEDULE verwendet werden -Klausel von CREATE_EVENT() und ALTER_EVENT() Funktionen.

Die ersten neun Einheiten können mit TIMESTAMPADD() verwendet werden und TIMESTAMPDIFF() (Diese beiden Funktionen unterstützen zum Zeitpunkt des Schreibens keine zusammengesetzten Einheiten).

Die Einheiten, die einen Unterstrich enthalten, sind zusammengesetzte Einheiten. Diese bestehen aus mehr als einer Basiszeiteinheit. Diese können als Kurzform zur Angabe mehrerer Einheiten auf einmal betrachtet werden. Jede Einheit kann durch ein beliebiges Satzzeichen getrennt werden.

Beispiele

Hier ist ein Beispiel für das Hinzufügen eines Jahres zu einem datetime-Ausdruck:

SELECT '2035-01-01 01:30:45' + INTERVAL 1 YEAR;

Ergebnis:

2036-01-01 01:30:45

In diesem Fall verwenden wir den + Operator, um die Addition auszuführen.

Datetime-Funktionen

Die Datums- und Zeiteinheiten können mit verschiedenen Datumsfunktionen verwendet werden.

Hier ist es mit dem DATE_ADD() Funktion:

SELECT DATE_ADD('2035-01-01 01:30:45', INTERVAL 1 YEAR);

Ergebnis:

2036-01-01 01:30:45

Zusammengesetzte Einheiten

Hier ist ein Beispiel, das zusammengesetzte Einheiten verwendet:

SELECT 
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";

Ergebnis:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2036-03-01 01:00:00 | 2035-01-01 02:25:35 | 2035-01-03 07:25:00 |
+---------------------+---------------------+---------------------+

Die ganzen Zahlen können durch ein beliebiges Satzzeichen getrennt werden. Daher könnten wir die Doppelpunkte durch Punkte ersetzen, um das gleiche Ergebnis zu erhalten:

SELECT 
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_ADD('2035-01-01 01:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";

Ergebnis:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2036-03-01 01:00:00 | 2035-01-01 02:25:35 | 2035-01-03 07:25:00 |
+---------------------+---------------------+---------------------+