sql >> Database >  >> RDS >> MariaDB

MariaDB Datum- en tijdseenheden

Hieronder vindt u een volledige lijst van de datum- en tijdseenheden die in MariaDB kunnen worden gebruikt.

Eenheid Beschrijving
MICROSECOND Microseconden
SECOND Seconden
MINUTE Minuten
HOUR Uren
DAY Dagen
WEEK Weken
MONTH Maanden
QUARTER Kwartalen
YEAR Jaar
SECOND_MICROSECOND Seconden.Microseconden
MINUTE_MICROSECOND Minuten.Seconden.Microseconden
MINUTE_SECOND Minuten.Seconden
HOUR_MICROSECOND Uren.Minuten.Seconden.Microseconden
HOUR_SECOND Uren.Minuten.Seconden
HOUR_MINUTE Uren.Minuten
DAY_MICROSECOND Dagen Uren.Minuten.Seconden.Microseconden
DAY_SECOND Dagen Uren.Minuten.Seconden
DAY_MINUTE Dagen Uren.Minuten
DAY_HOUR Dagen Uren
YEAR_MONTH Jaar-Maanden

Deze kunnen worden gebruikt met de + en - operatoren bij het uitvoeren van berekeningen op datums, met functies zoals ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB() , EXTRACT() , TIMESTAMPADD() , en TIMESTAMPDIFF() .

Ze kunnen ook worden gebruikt in de ON SCHEDULE clausule van de CREATE_EVENT() en ALTER_EVENT() functies.

De tijdseenheden met een onderstrepingsteken zijn samengestelde eenheden. Deze bestaan ​​uit meer dan één basistijdseenheid. Dit is een soort verkorte manier om meerdere eenheden in één keer te specificeren. Elke eenheid kan worden gescheiden door elk leesteken.

Voorbeelden

Hier is een voorbeeld van het toevoegen van een uur aan een datetime-expressie:

SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;

Resultaat:

+-----------------------------------------+
| '2021-05-31 10:00:00' + INTERVAL 1 HOUR |
+-----------------------------------------+
| 2021-05-31 11:00:00                     |
+-----------------------------------------+

In dit geval gebruiken we de + operator om de optelling uit te voeren.

Datum-functies

De datum- en tijdseenheden kunnen worden gebruikt met verschillende datumfuncties.

Hier is het met de DATE_ADD() functie:

SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);

Resultaat:

+--------------------------------------------------+
| DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-31 11:00:00                              |
+--------------------------------------------------+

Samengestelde eenheden

Hier is een voorbeeld dat samengestelde eenheden gebruikt:

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

Resultaat:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 |
+---------------------+---------------------+---------------------+

De gehele getallen kunnen worden gescheiden door elk leesteken. Daarom zouden we de dubbele punten kunnen vervangen door punten om hetzelfde resultaat te krijgen:

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

Resultaat:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 |
+---------------------+---------------------+---------------------+

  1. Primaire sleutel voor automatische verhoging invoegen in bestaande tabel

  2. Kan ik negeer_dup_key inschakelen voor een primaire sleutel?

  3. Een zeer beschikbare database voor Moodle bouwen met MariaDB (replicatie en MariaDB-cluster)

  4. Hoe de totale omzet per maand berekenen in MySQL?