V MySQL můžete použít ADDDATE()
funkce pro přidání určitého času k datu. Můžete jej použít například k přidání 10 dnů k danému datu. Můžete určit, zda se mají přidat dny, týdny, měsíce, čtvrtletí, roky atd. Můžete také přidat časovou hodnotu, jako jsou sekundy, mikrosekundy atd.
ADDDATE()
funkce je synonymem pro DATE_ADD()
funkce (obě dělají totéž) při použití první syntaxe uvedené níže.
Tento článek obsahuje příklady, které demonstrují použití ADDDATE()
funkce.
Syntaxe
Tuto funkci můžete použít dvěma následujícími způsoby:
ADDDATE(date,INTERVAL expr unit)
Nebo
ADDDATE(expr,days)
Příklad 1 – První syntaxe
Zde je příklad použití první formy syntaxe.
SELECT ADDDATE('2018-12-01', INTERVAL 2 DAY) AS Result;
Výsledek:
+------------+ | Result | +------------+ | 2018-12-03 | +------------+
Tento příklad přidá 2 dny k datu poskytnutému prvním argumentem.
Příklad 2 – Druhá syntaxe
Tento příklad by mohl být přepsán do následujícího:
SELECT ADDDATE('2018-12-01', 2) AS Result;
Výsledek:
+------------+ | Result | +------------+ | 2018-12-03 | +------------+
Toto používá druhou formu syntaxe. Druhý argument je celé číslo, které představuje, kolik dní by se mělo přidat k datu zadanému prvním argumentem. Je tedy zřejmé, že tento formulář je vhodný pouze v případě, že chcete zadat částku ve dnech.
Všimněte si, že ADDDATE()
je synonymem pro DATE_ADD()
pouze při použití první syntaxe. Druhá syntaxe je dostupná pouze v ADDDATE()
.
Příklad 3 – Jiné jednotky data
Jednou z výhod první formy syntaxe je, že můžete určit, zda se mají přidat dny, týdny, měsíce, roky atd. Zde je několik příkladů.
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';
Výsledek:
+------------+------------+------------+-------------+------------+ | 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 | +------------+------------+------------+-------------+------------+
Příklad 4 – Časové jednotky
Můžete také použít ADDDATE()
pro přidání časových jednotek k hodnotě data/času. Zde je příklad.
SELECT ADDDATE('2018-12-01 01:00:00', INTERVAL 2 HOUR) AS Result;
Výsledek:
+---------------------+ | Result | +---------------------+ | 2018-12-01 03:00:00 | +---------------------+
Očekávané hodnoty
Následující tabulka ukazuje platné hodnoty jednotek a jejich očekávaný formát.
unit Hodnota | Očekáváno expr Formát |
---|---|
MIKROSECOND | MIKROSEKUNDY |
DRUHÁ | SEKUND |
MINUTE | MINUTY |
HODINA | HODINY |
DEN | DNY |
WEEK | WEEKS |
MĚSÍC | MĚSÍCE |
ČTVRTLETÍ | ČTVRTLETÍ |
ROK | ROKY |
SECOND_MICROSECOND | „SECONDS.MICROSECONDS“ |
MINUTE_MICROSECOND | „MINUTY:SECONDS.MICROSECONDS“ |
MINUTE_SECOND | „MINUTY:SECONDS“ |
HOUR_MICROSECOND | 'HOURS:MINUTES:SECONDS.MICROSECONDS' |
HOUR_SECOND | „HOURS:MINUTES:SECONDS“ |
HOUR_MINUTE | „HOURS:MINUTES“ |
DAY_MICROSECOND | 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS' |
DAY_SECOND | „DAYS HOURS:MINUTES:SECONDS“ |
DAY_MINUTE | „DAYS HOURS:MINUTES“ |
DAY_HOUR | „DAYS HOURS“ |
YEAR_MONTH | „ROKY-MĚSÍCE“ |