sql >> Database teknologi >  >> RDS >> MariaDB

MariaDB dato- og tidsenheder

Nedenfor er en komplet liste over de dato- og tidsenheder, der kan bruges i MariaDB.

Enhed Beskrivelse
MICROSECOND Mikrosekunder
SECOND Sekunder
MINUTE Minutter
HOUR Timer
DAY Dage
WEEK Uger
MONTH Måneder
QUARTER Kvarter
YEAR År
SECOND_MICROSECOND Seconds.Microseconds
MINUTE_MICROSECOND Minutter.Sekunder.Mikrosekunder
MINUTE_SECOND Minutter.sekunder
HOUR_MICROSECOND Timer.Minutter.Sekunder.Mikrosekunder
HOUR_SECOND Timer.Minutter.Sekunder
HOUR_MINUTE Timer.Minutter
DAY_MICROSECOND Dage Timer.Minuter.Sekunder.Mikrosekunder
DAY_SECOND Dage Timer.Minuter.Sekunder
DAY_MINUTE Dage Timer.Minutter
DAY_HOUR Dage timer
YEAR_MONTH År-måneder

Disse kan bruges med + og - operatorer, når der udføres aritmetik på datoer, med funktioner såsom ADDDATE() , SUBDATE() , DATE_ADD() , DATE_SUB() , EXTRACT() , TIMESTAMPADD() , og TIMESTAMPDIFF() .

De kan også bruges i ON SCHEDULE klausul af CREATE_EVENT() og ALTER_EVENT() funktioner.

De tidsenheder, der indeholder en understregning, er sammensatte enheder. Disse består af mere end én basistidsenhed. Disse er en slags forkortede måde at specificere flere enheder på på én gang. Hver enhed kan adskilles med et hvilket som helst tegnsætningstegn.

Eksempler

Her er et eksempel på tilføjelse af en time til et dato-tidsudtryk:

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

Resultat:

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

I dette tilfælde bruger vi + operatør til at udføre tilføjelsen.

Dato-tidsfunktioner

Dato- og tidsenhederne kan bruges med forskellige datofunktioner.

Her er den med DATE_ADD() funktion:

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

Resultat:

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

Sammensatte enheder

Her er et eksempel, der bruger sammensatte enheder:

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";

Resultat:

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

Heltallene kan adskilles med et hvilket som helst tegnsætningstegn. Derfor kunne vi erstatte kolonerne med perioder for at få det samme resultat:

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";

Resultat:

+---------------------+---------------------+---------------------+
| 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. Oracle-skemabruger kan ikke oprette tabel i procedure

  2. Slet med Join i MySQL

  3. Snapshot kontrolfil funktion med RMAN og ORA-00245

  4. Har Oracle et filtreret indekskoncept?