sql >> Databasteknik >  >> RDS >> Mysql

ADDDATE() Exempel – MySQL

I MySQL kan du använda ADDDATE() funktion för att lägga till en angiven tid till ett datum. Du kan till exempel använda den för att lägga till 10 dagar till ett givet datum. Du kan ange om du vill lägga till dagar, veckor, månader, kvartal, år, etc. Du kan också lägga till ett tidsvärde, som sekunder, mikrosekunder, etc.

ADDDATE() funktion är en synonym för DATE_ADD() funktion (de gör båda samma sak) när du använder den första syntaxen nedan.

Den här artikeln innehåller exempel för att demonstrera användningen av ADDDATE() funktion.

Syntax

Du kan använda den här funktionen på följande två sätt:

ADDDATE(date,INTERVAL expr unit)

Eller

ADDDATE(expr,days)

Exempel 1 – Den första syntaxen

Här är ett exempel på hur du använder den första formen av syntaxen.

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

Resultat:

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

Detta exempel lägger till 2 dagar till det datum som anges av det första argumentet.

Exempel 2 – Den andra syntaxen

Detta exempel kan skrivas om till följande:

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

Resultat:

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

Detta använder den andra formen av syntaxen. Det andra argumentet är ett heltal som representerar hur många dagar som ska läggas till datumet som tillhandahålls av det första argumentet. Så självklart är det här formuläret endast lämpligt om du vill ange beloppet i dagar.

Observera att ADDDATE() är en synonym för DATE_ADD() endast när den första syntaxen används. Den andra syntaxen är endast tillgänglig i ADDDATE() .

Exempel 3 – Andra datumenheter

En fördel med den första formen av syntaxen är att du kan ange om du vill lägga till dagar, veckor, månader, år etc. Här är några exempel.

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 |
+------------+------------+------------+-------------+------------+

Exempel 4 – Tidsenheter

Du kan också använda ADDDATE() för att lägga till tidsenheter till ett datum/tidsvärde. Här är ett exempel.

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

Resultat:

+---------------------+
| Result              |
+---------------------+
| 2018-12-01 03:00:00 |
+---------------------+

Förväntade värden

Följande tabell visar giltiga enhetsvärden och deras förväntade format.

unit Värde Förväntat expr Format
MICROSECOND MIKROSECONDS
ANDRA sekunder
MINUT MINUTTER
TIMMAR TIMMAR
DAG DAGAR
VECKAN VECKOR
MÅNAD MÅNADER
KVARTAL KVARTER
ÅR ÅR
SECOND_MICROSECOND ‘SECONDS.MICROSECONDS’
MINUTE_MICROSECOND ‘MINUTES:SECONDS.MICROSECONDS’
MINUTE_SECOND 'MINUTTER:SECONDS'
HOUR_MICROSECOND 'TIMMAR:MINUTTER:SECONDS.MICROSECONDS'
HOUR_SECOND 'TIMMAR:MINUTTER:SEKUNDER'
HOUR_MINUTE 'TIMMAR:MINUTTER'
DAY_MICROSECOND ‘DAGAR TIMMER:MINUTTER:SECONDS.MICROSECONDS’
DAY_SECOND ‘DAGAR TIMMAR:MINUTTER:SECONDS’
DAY_MINUTE ‘DAGAR TIMMAR:MINUTTER’
DAY_HOUR 'DAGAR TIMMER'
YEAR_MONTH 'ÅR-MÅNADER'

  1. Hur utför jag en infogning och returnerar insatt identitet med Dapper?

  2. Välj topp tre värden i varje grupp

  3. Oracle PL/SQL:hur man får stackspår, paketnamn och procedurnamn

  4. Hur man använder JDBC för att ansluta MySql-databas