sql >> Database >  >> RDS >> Mysql

ADDDATE() Voorbeelden – MySQL

In MySQL kunt u de ADDDATE() . gebruiken functie om een ​​bepaalde hoeveelheid tijd aan een datum toe te voegen. U kunt het bijvoorbeeld gebruiken om 10 dagen toe te voegen aan een bepaalde datum. U kunt aangeven of u dagen, weken, maanden, kwartalen, jaren, enz. wilt toevoegen. U kunt ook een tijdwaarde toevoegen, zoals seconden, microseconden, enz.

De ADDDATE() functie is een synoniem voor de DATE_ADD() functie (ze doen allebei hetzelfde) bij gebruik van de eerste hieronder vermelde syntaxis.

Dit artikel bevat voorbeelden om het gebruik van de ADDDATE() . te demonstreren functie.

Syntaxis

U kunt deze functie op de volgende twee manieren gebruiken:

ADDDATE(date,INTERVAL expr unit)

Of

ADDDATE(expr,days)

Voorbeeld 1 – De eerste syntaxis

Hier is een voorbeeld van het gebruik van de eerste vorm van de syntaxis.

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

Resultaat:

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

Dit voorbeeld telt 2 dagen op bij de datum die door het eerste argument wordt opgegeven.

Voorbeeld 2 – De tweede syntaxis

Dit voorbeeld kan als volgt worden herschreven:

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

Resultaat:

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

Dit gebruikt de tweede vorm van de syntaxis. Het tweede argument is een geheel getal dat aangeeft hoeveel dagen moeten worden opgeteld bij de datum die door het eerste argument wordt opgegeven. Dit formulier is dus uiteraard alleen geschikt als u het bedrag in dagen wilt specificeren.

Houd er rekening mee dat ADDDATE() is een synoniem voor DATE_ADD() alleen wanneer de eerste syntaxis wordt gebruikt. De tweede syntaxis is alleen beschikbaar in ADDDATE() .

Voorbeeld 3 – Andere datumeenheden

Een voordeel van de eerste vorm van de syntaxis is dat u kunt specificeren of u dagen, weken, maanden, jaren, enz. wilt toevoegen. Hier zijn enkele voorbeelden.

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

Resultaat:

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

Voorbeeld 4 – Tijdseenheden

U kunt ook ADDDATE() . gebruiken om tijdseenheden toe te voegen aan een datum/tijd-waarde. Hier is een voorbeeld.

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

Resultaat:

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

Verwachte waarden

De volgende tabel toont de geldige eenheidswaarden en hun verwachte formaat.

unit Waarde Verwachte expr Formaat
MICROSECONDE MICROSECONDEN
TWEEDE SECONDEN
MINUUT MINUTEN
UUR UUR
DAG DAGEN
WEEK WEKEN
MAAND MAANDEN
KWARTAAL KWARTAAL
JAAR JAAR
SECOND_MICROSECOND ‘SECONDEN.MICROSECONDEN’
MINUTE_MICROSECOND ‘MINUTEN:SECONDEN.MICROSECONDEN’
MINUTE_SECOND ‘MINUTEN:SECONDEN’
HOUR_MICROSECOND ‘UUR:MINUTEN:SECONDEN.MICROSECONDEN’
HOUR_SECOND ‘UUR:MINUTEN:SECONDEN’
HOUR_MINUTE ‘UUR:MINUTEN’
DAY_MICROSECOND ‘DAGEN UUR:MINUTEN:SECONDEN.MICROSECONDEN’
DAY_SECOND ‘DAGEN UUR:MINUTEN:SECONDEN’
DAY_MINUTE ‘DAGEN UUR:MINUTEN’
DAY_HOUR ‘DAGEN UUR’
JAAR_MAAND ‘JAAR-MAANDEN’

  1. SCD-type 2

  2. Gegevens draaien in T-SQL

  3. Beste MySQL DigitalOcean-prestaties - ScaleGrid versus door DigitalOcean beheerde databases

  4. SQL Server Transactionele Replicatie Internals – Deel 2