sql >> Database >  >> RDS >> MariaDB

Hoe ADDTIME() werkt in MariaDB

In MariaDB, ADDTIME() is een ingebouwde datum- en tijdfunctie die een bedrag toevoegt aan een tijd- of datetime-expressie.

Hiermee kunt u een tijd- of datetime-uitdrukking wijzigen door die uitdrukking door te geven, evenals een tijduitdrukking om aan die uitdrukking toe te voegen. U kunt een negatief bedrag doorgeven als u moet aftrekken van de tijduitdrukking.

Syntaxis

De syntaxis gaat als volgt:

ADDTIME(expr1,expr2)

Waar expr1 is een tijd- of datetime-expressie, en expr2 is een tijduitdrukking.

Voorbeeld

Hier is een voorbeeld:

SELECT ADDTIME('10:00:00', '02:30:45');

Resultaat:

+---------------------------------+
| ADDTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 12:30:45                        |
+---------------------------------+

Datetime-expressies

Het eerste argument kan ook een datetime-expressie zijn:

SELECT ADDTIME('2021-05-01 10:00:00', '22:30:45');

Resultaat:

+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-05-02 08:30:45                        |
+--------------------------------------------+

In dit geval was de toegevoegde tijd voldoende om de datum vooruit te schuiven naar de volgende dag, en dit wordt weerspiegeld in het resultaat.

Tijduitdrukkingen in een lossere indeling

MariaDB maakt het toewijzen van tijden in lossere formaten mogelijk, zoals het laten vallen van voorloopnullen en het geven van een waarde voor de dag.

Daarom kunnen we dit doen:

SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456');

Resultaat:

+----------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
+----------------------------------------------------+
| 2022-05-02 11:01:01.123456                         |
+----------------------------------------------------+

Negatieve intervallen

Het verstrekken van een negatief interval voor het daggedeelte trekt dat bedrag af van de tijd/datumtijd.

Voorbeeld:

SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');

Resultaat:

+-----------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
+-----------------------------------------------------+
| 2020-04-30 08:58:58.876544                          |
+-----------------------------------------------------+

Nullargumenten

Als een argument null is , het resultaat is null :

SELECT 
    ADDTIME('10:00:00', null),
    ADDTIME(null, '02:30:45'),
    ADDTIME(null, null);

Resultaat:

+---------------------------+---------------------------+---------------------+
| ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) |
+---------------------------+---------------------------+---------------------+
| NULL                      | NULL                      | NULL                |
+---------------------------+---------------------------+---------------------+

Ontbrekend argument

Bellen ADDTIME() met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten resulteert in een fout:

SELECT ADDTIME();

Resultaat:

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

  1. Het Smart Home-gegevensmodel

  2. MariaDB numerieke functies (volledige lijst)

  3. Hoe SESSION_CONTEXT() werkt in SQL Server

  4. Hoe te testen op overlappende datums in PostgreSQL