sql >> Databáze >  >> RDS >> Mysql

Příklady ADDDATE() – MySQL

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“

  1. Správa PostgreSQL Commitfest

  2. Pozor na to, na co se díváte

  3. Změnit na velkém stole v řešení RDS na plný stůl Chyba

  4. Jak GROUP BY funguje?