sql >> Databáze >  >> RDS >> MariaDB

6 způsobů, jak přidat rok k datu v MariaDB

MariaDB poskytuje několik způsobů, jak přidat rok nebo určitý počet let k danému datu. Můžete například přidat 1 rok, 10 let, 30 let atd.

Zde je 6 způsobů, jak přidat rok k datu v MariaDB.

DATE_ADD() Funkce

DATE_ADD() funkce umožňuje přidat částku k datu. Můžete například přidat počet dní, týdnů, měsíců, let atd.

Příklad:

SELECT DATE_ADD('2021-05-01', INTERVAL 1 YEAR); 

Výsledek:

+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 1 ROK) |+----------------------------------- -------+| 2022-05-01 |+-----------------------------------------+ 

Žádné pravidlo neříká, že to může být pouze 1 rok. Můžete přidat více let. V každém případě YEAR klíčové slovo zůstává nemnožné:

SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR); 

Výsledek:

+------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 10 LET) |+---------------------------------- --------+| 2031-05-01 |+------------------------------------------+ 

Je také možné použít jinou jednotku data/času s příslušným číslem této jednotky. Tento přístup by však měl být používán s opatrností, protože by mohl vést k neočekávaným výsledkům.

Příklad:

SELECT 
    DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years; 

Výsledek:

+------------+------------+------------+------- -----+| Dny | Týdny | Měsíce | Roky |+------------+------------+------------+--------- ----+| 2022-05-01 | 2022-04-30 | 2022-05-01 | 2022-05-01 |+------------+------------+------------+---- --------+

V tomto případě mělo přidání 52 týdnů jiný výsledek než použití 365 dnů, 12 měsíců a 1 roku.

Pokud posuneme datum o několik let dopředu, dostaneme ještě větší nekonzistenci:

SELECT 
    DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years; 

Výsledek:

+------------+------------+------------+------- -----+| Dny | Týdny | Měsíce | Roky |+------------+------------+------------+--------- ----+| 2024-04-30 | 2024-04-29 | 2024-05-01 | 2024-05-01 |+------------+------------+------------+---- --------+

Tentokrát pomocí MONTH a YEAR vrátí stejný výsledek, ale DAY a WEEK vrátí dvě různá data, z nichž obě se liší od MONTH a YEAR výsledky.

ADDDATE() Funkce

Dalším způsobem, jak přidat rok k datu, je použít ADDDATE() funkce. Tato funkce má dvě syntaxe. Jedna syntaxe umožňuje přidat k datu počet dní. Další syntaxe je stejná jako u DATE_ADD() funkce výše. Při použití této syntaxe ADDDATE() je synonymem pro DATE_ADD() .

Příklad:

SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR); 

Výsledek:

+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 1 ROK) |+----------------------------------- ------+| 2022-05-01 |+----------------------------------------+ 

DATE_SUB() Funkce

DATE_SUB() funkce umožňuje odečíst částku k datu. Pokud však zadáte zápornou hodnotu k odečtení, skončí to tak, že bude přičteno k datu.

Příklad:

SELECT DATE_SUB('2021-05-01', INTERVAL -1 YEAR); 

Výsledek:

+------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -1 ROK) |+---------------------------------- ---------+| 2022-05-01 |+------------------------------------------+ 

SUBDATE() Funkce

SUBDATE() funkce je synonymem pro DATE_SUB() při použití následující syntaxe.

Příklad:

SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR); 

Výsledek:

+-----------------------------------------+| PODDATUM('2021-05-01', INTERVAL -1 ROK) |+---------------------------------- --------+| 2022-05-01 |+-----------------------------------------+ 

Znaménko + Operátor

Další možností je použít + operátor.

+ operátor se používá k provádění sčítání a můžeme jej použít pro data spolu s příslušnou jednotkou data/času k přidání určitého počtu let k našemu datu.

Příklad:

SELECT '2021-05-01' + INTERVAL 1 YEAR; 

Výsledek:

+--------------------------------+| '2021-05-01' + INTERVAL 1 ROK |+--------------------------------+| 2022-05-01 |+--------------------------------+

- Operátor

- operátor lze použít k odečtení částky od data. Ale pokud se používá k odečtení záporného čísla, výsledkem je kladná částka přidaná k datu:

SELECT '2021-05-01' - INTERVAL -1 YEAR; 

Výsledek:

+---------------------------------+| '2021-05-01' - INTERVAL -1 ROK |+---------------------------------+| 2022-05-01 |+---------------------------------+

Další jednotky data a času

Výše uvedené příklady přidávají k datu počet let, ale stejné techniky můžeme použít k přidání libovolné jednotky data/času. Úplný seznam jednotek data a času, které lze použít s výše uvedenými funkcemi a operátorem, naleznete v části Jednotky data a času MariaDB.


  1. Jak vytvořit asociativní pole v databázi Oracle

  2. Nejlepší způsob, jak zkrátit řetězec UTF8 na základě délky bajtu

  3. Způsobeno:android.database.sqlite.SQLiteException:žádná taková tabulka:BOOK (kód 1 SQLITE_ERROR)

  4. Jak nainstalovat Cassandra v3 na CentOS 6