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

ADDDATE() Eksempler – MySQL

I MySQL kan du bruge ADDDATE() funktion til at føje en bestemt mængde tid til en dato. For eksempel kan du bruge det til at tilføje 10 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.

ADDDATE() funktion er et synonym for DATE_ADD() funktion (de gør begge det samme), når du bruger den første syntaks, der er angivet nedenfor.

Denne artikel indeholder eksempler til at demonstrere brugen af ​​ADDDATE() funktion.

Syntaks

Du kan bruge denne funktion på følgende to måder:

ADDDATE(date,INTERVAL expr unit)

Eller

ADDDATE(expr,days)

Eksempel 1 – Den første syntaks

Her er et eksempel på brug af den første form af syntaksen.

SELECT ADDDATE('2018-12-01', INTERVAL 2 DAY) AS Result;

Resultat:

+------------+
| Result     |
+------------+
| 2018-12-03 |
+------------+

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

Eksempel 2 – Den anden syntaks

Dette eksempel kunne omskrives til følgende:

SELECT ADDDATE('2018-12-01', 2) AS Result;

Resultat:

+------------+
| Result     |
+------------+
| 2018-12-03 |
+------------+

Dette bruger den anden form af syntaksen. Det andet argument er et heltal, der repræsenterer, hvor mange dage der skal lægges til den dato, der leveres af det første argument. Så selvfølgelig er denne formular kun egnet, hvis du ønsker at angive beløbet i dage.

Bemærk, at ADDDATE() er et synonym for DATE_ADD() kun når den første syntaks bliver brugt. Den anden syntaks er kun tilgængelig i ADDDATE() .

Eksempel 3 – Andre datoenheder

En fordel ved den første form for syntaksen er, at du kan angive, om du vil tilføje dage, uger, måneder, år osv. Her er nogle eksempler.

SELECT 
    '2018-12-01' AS 'Start Date',
    ADDDATE('2018-12-01', INTERVAL 2 WEEK) AS '+2 Weeks',
    ADDDATE('2018-12-01', INTERVAL 2 MONTH) AS '+2 Months',
    ADDDATE('2018-12-01', INTERVAL 2 QUARTER) AS '+2 Quarters',
    ADDDATE('2018-12-01', INTERVAL 2 YEAR) AS '+2 Years';

Resultat:

+------------+------------+------------+-------------+------------+
| Start Date | +2 Weeks   | +2 Months  | +2 Quarters | +2 Years   |
+------------+------------+------------+-------------+------------+
| 2018-12-01 | 2018-12-15 | 2019-02-01 | 2019-06-01  | 2020-12-01 |
+------------+------------+------------+-------------+------------+

Eksempel 4 – Tidsenheder

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

SELECT ADDDATE('2018-12-01 01:00:00', INTERVAL 2 HOUR) AS Result;

Resultat:

+---------------------+
| Result              |
+---------------------+
| 2018-12-01 03:00: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'

  1. Konverter 'datetime offset' til 'datetime' i SQL Server (T-SQL-eksempler)

  2. Sådan genereres script for at aktivere alle fremmednøglebegrænsninger i SQL Server-databasen - SQL Server / TSQL vejledning del 78

  3. Det er på tide, at vi giver Microsoft Access IDE noget kærlighed

  4. Opdater data via en funktion med tabelværdi i SQL Server