In MariaDB, SUBTIME()
ist eine integrierte Datums- und Zeitfunktion, die einen Betrag von einem Zeit- oder Datumszeit-Ausdruck subtrahiert.
Es ermöglicht Ihnen, einen Zeit- oder Datums-Zeit-Ausdruck zu ändern, indem Sie diesen Ausdruck übergeben, sowie einen Zeit-Ausdruck, der von diesem Ausdruck subtrahiert werden soll. Sie können einen negativen Betrag übergeben, wenn Sie ihn hinzufügen müssen zum Zeitausdruck.
Syntax
Die Syntax lautet wie folgt:
SUBTIME(expr1,expr2)
Wobei expr1
ein Zeit- oder Datumzeitausdruck ist und expr2
ist ein Zeitausdruck.
Beispiel
Hier ist ein Beispiel:
SELECT SUBTIME('10:00:00', '02:30:45');
Ergebnis:
+---------------------------------+| UNTERZEIT('10:00:00', '02:30:45') |+------------------------------ ---+| 07:29:15 |+---------------------------------+
Datum/Uhrzeit-Ausdrücke
Das erste Argument kann auch ein datetime-Ausdruck sein:
SELECT SUBTIME('2021-05-01 10:00:00', '22:30:45');
Ergebnis:
+--------------------------------------------------+| UNTERZEIT('2021-05-01 10:00:00', '22:30:45') |+-------------------- -------------------+| 2021-04-30 11:29:15 |+-------------------------------------------------- ------+
In diesem Fall wurde genügend Zeit abgezogen, um das Datum auf den vorherigen Tag und Monat zurückzuziehen.
Zeitausdrücke in einem lockereren Format
MariaDB ermöglicht die Zuweisung von Zeiten in lockereren Formaten, z. B. das Weglassen führender Nullen und das Bereitstellen eines Werts für den Tag.
Daher können wir Folgendes tun:
SELECT SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456');
Ergebnis:
Negative Intervalle
Bereitstellung eines negativen Intervalls für den Tagesabschnitt addiert das entspricht der Uhrzeit/DatumUhrzeit.
Beispiel:
SELECT SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');
Ergebnis:
Null-Argumente
Wenn irgendein Argument null
ist , ist das Ergebnis null
:
SELECT
SUBTIME('10:00:00', null),
SUBTIME(null, '02:30:45'),
SUBTIME(null, null);
Ergebnis:
+----------------------+----------------- ---------+---------------------+| UNTERZEIT('10:00:00', null) | SUBTIME(null, '02:30:45') | SUBTIME(null, null) |+-----------------------------------+-------------- -------------+---------------------+| NULL | NULL | NULL |+---------------------------+------------------- --------+---------------------+
Fehlendes Argument
Aufruf von SUBTIME()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT SUBTIME();
Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion 'SUBTIME'