MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie MAKEDATE() in MariaDB funktioniert

In MariaDB MAKEDATE() ist eine integrierte Datums- und Uhrzeitfunktion, die ein Datum basierend auf dem Jahr und dem Tag des Jahres zurückgibt, die als Argumente bereitgestellt werden.

Syntax

Die Syntax lautet wie folgt:

MAKEDATE(year,dayofyear)

Beispiel

Hier ist ein Beispiel:

SELECT MAKEDATE(2030, 10);

Ergebnis:

+--------------------+
| MAKEDATE(2030, 10) |
+--------------------+
| 2030-01-10         |
+--------------------+

Und noch einer:

SELECT MAKEDATE(2030, 100);

Ergebnis:

+---------------------+
| MAKEDATE(2030, 100) |
+---------------------+
| 2030-04-10          |
+---------------------+

Gib ein Datum in einem zukünftigen Jahr zurück

Wenn das zweite Argument (Tag des Jahres) größer als die Anzahl der Tage im Jahr ist, dann ist das resultierende Datum ein Jahr in der Zukunft.

Beispiel:

SELECT
    MAKEDATE(2030, 366),
    MAKEDATE(2030, 700),
    MAKEDATE(2030, 7000);

Ergebnis:

+---------------------+---------------------+----------------------+
| MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) |
+---------------------+---------------------+----------------------+
| 2031-01-01          | 2031-12-01          | 2049-03-01           |
+---------------------+---------------------+----------------------+

Zero Days

Das zweite Argument (Tag des Jahres) muss größer als 0 sein oder das Ergebnis ist null .

Beispiel:

SELECT
    MAKEDATE(2030, 366),
    MAKEDATE(2030, 700),
    MAKEDATE(2030, 7000);

Ergebnis:

+---------------------+---------------------+----------------------+
| MAKEDATE(2030, 366) | MAKEDATE(2030, 700) | MAKEDATE(2030, 7000) |
+---------------------+---------------------+----------------------+
| 2031-01-01          | 2031-12-01          | 2049-03-01           |
+---------------------+---------------------+----------------------+

Fehlendes Argument

Aufruf von MAKEDATE() mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:

SELECT MAKEDATE();

Ergebnis:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'

Und noch ein Beispiel:

SELECT MAKEDATE( 2020, 10, 20 );

Ergebnis:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKEDATE'

Mach dir Zeit

Siehe auch MAKETIME() zum Konstruieren eines Zeitwerts aus seinen Stunden, Minuten und Sekunden.