sql >> Database teknologi >  >> RDS >> Mysql

DATE_ADD() Eksempler – MySQL

I MySQL kan du bruge DATE_ADD() funktion til at føje en bestemt mængde tid til en dato. For eksempel kan du bruge det til at tilføje 5 dage til en given dato. Du kan angive, om du vil tilføje dage, uger, måneder, kvartaler, år osv. Du kan også tilføje en tidsværdi, såsom sekunder, mikrosekunder osv.

Denne artikel indeholder eksempler, der viser, hvordan DATE_ADD() funktion virker.

Syntaks

Syntaksen ser sådan ud:

DATE_ADD(date,INTERVAL expr unit)

Eksempel 1 – Grundlæggende brug

Her er et eksempel på brug.

SELECT DATE_ADD('2020-10-01', INTERVAL 20 DAY) AS Result;

Resultat:

+------------+
| Result     |
+------------+
| 2020-10-21 |
+------------+

Dette eksempel føjer 20 dage til datoen fra det første argument.

Eksempel 2 – Andre datoenheder

Du kan angive enhederne i dage, uger, måneder, år osv. Her er nogle eksempler.

SELECT 
    '2020-10-01' AS 'Start Date',
    DATE_ADD('2020-10-01', INTERVAL 2 WEEK) AS '+2 Weeks',
    DATE_ADD('2020-10-01', INTERVAL 2 MONTH) AS '+2 Months',
    DATE_ADD('2020-10-01', INTERVAL 2 QUARTER) AS '+2 Quarters',
    DATE_ADD('2020-10-01', INTERVAL 2 YEAR) AS '+2 Years';

Resultat:

+------------+------------+------------+-------------+------------+
| Start Date | +2 Weeks   | +2 Months  | +2 Quarters | +2 Years   |
+------------+------------+------------+-------------+------------+
| 2020-10-01 | 2020-10-15 | 2020-12-01 | 2021-04-01  | 2022-10-01 |
+------------+------------+------------+-------------+------------+

Eksempel 3 – Tidsenheder

Du kan også tilføje tidsenheder til en dato/tidsværdi. Her er et eksempel.

SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL 10 HOUR) AS Result;

Resultat:

+---------------------+
| Result              |
+---------------------+
| 2020-10-01 11:00:00 |
+---------------------+

Og du kan angive flere enheder på samme tid. For eksempel kan du angive timer og minutter. Sådan.

SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;

Resultat:

+---------------------+
| Result              |
+---------------------+
| 2020-10-01 02:30:00 |
+---------------------+

Forventede værdier

Følgende tabel viser de gyldige enhedsværdier og deres forventede format.

unit Værdi Forventet expr Formater
MICROSECOND MIKROSEKUNDER
ANDEN SEKUNDER
MINUT MINUTTER
TIME TIMER
DAG DAGE
UGE UGER
MÅNED MÅNEDER
KVART KVARTERE
ÅR ÅR
SECOND_MICROSECOND 'SECONDS.MICROSECONDS'
MINUTE_MICROSECOND 'MINUTTER:SECONDS.MICROSECONDS'
MINUTE_SECOND 'MINUTTER:SECONDS'
HOUR_MICROSECOND 'TIMER:MINUTTER:SECONDS.MICROSECONDS'
HOUR_SECOND 'TIMER:MINUTTER:SECONDS'
HOUR_MINUTE 'TIMER:MINUTTER'
DAY_MICROSECOND 'DAGE TIMER:MINUTTER:SECONDS.MICROSECONDS'
DAY_SECOND 'DAGE TIMER:MINUTTER:SECONDS'
DAY_MINUTE 'DAGE TIMER:MINUTTER'
DAY_HOUR 'DAGE TIMER'
YEAR_MONTH 'ÅR-MÅNEDER'

Du kan også bruge ADDDATE() funktion til at gøre det samme (det er et synonym for DATE_ADD() funktion, når du bruger den samme syntaks). Derudover syntaksen for ADDDATE() har en anden form, som er en stenografimetode til at tilføje et bestemt antal dage til en dato. For mere information, se ADDDATE()-eksempler i MySQL.


  1. Hvordan kopierer eller importerer jeg Oracle-skemaer mellem to forskellige databaser på forskellige servere?

  2. Indsæt Blobs i MySql-databaser med php

  3. Hvordan forespørger jeg ved hjælp af felter i den nye PostgreSQL JSON-datatype?

  4. Brug af parametre med en Oracle ODBC-forbindelse