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

6 způsobů, jak přidat měsíc k datu v MariaDB

MariaDB poskytuje několik způsobů, jak provádět aritmetiku na datech. To zahrnuje přičítání nebo odečítání měsíce (nebo mnoha měsíců) od daného data.

Zde je 6 způsobů, jak přidat měsíc k datu v MariaDB.

Aktualizace bonusu :Nyní jsem přidal 7. způsob, jak přidat měsíc k datu na konec tohoto článku. Takže myslím, že teď je 7 způsobů, jak přidat měsíc 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 MONTH); 

Výsledek:

+------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 1 MĚSÍC) |+----------------------------------- --------+| 2021-06-01 |+------------------------------------------+ 

Pokud potřebujete přidat více než jeden měsíc, použijte toto číslo místo 1 . Nicméně MONTH klíčové slovo zůstává bez množného čísla bez ohledu na:

SELECT DATE_ADD('2021-05-01', INTERVAL 2 MONTH); 

Výsledek:

+------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 2 MĚSÍCE) |+----------------------------------- --------+| 2021-07-01 |+------------------------------------------+ 

Je také možné použít jinou jednotku data/času s příslušným číslem této jednotky. Proto můžete zadat určitý počet dní, například 30 nebo 31.

Příklad:

SELECT DATE_ADD('2021-05-01', INTERVAL 31 DAY); 

Výsledek:

+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 31 DEN) |+----------------------------------- -------+| 2021-06-01 |+-----------------------------------------+ 

Při použití dnů, zda to vyjde přesně na měsíc nebo ne, bude záviset na daném měsíci. Ve výše uvedeném příkladu jsem mohl poskytnout 30 dní, ale to by nám zůstalo ve stejném měsíci:

SELECT DATE_ADD('2021-05-01', INTERVAL 30 DAY); 

Výsledek:

+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 30 DEN) |+----------------------------------- -------+| 2021-05-31 |+-----------------------------------------+ 

Pokud tedy skutečně chcete přidat měsíc, pak MONTH jednotka je mnohem snazší, než se snažit zjistit, kolik dní přidat.

ADDDATE() Funkce

Dalším způsobem, jak přidat měsíc 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 MONTH); 

Výsledek:

+-----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 1 MĚSÍC) |+----------------------------------- -------+| 2021-06-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 MONTH); 

Výsledek:

+-------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -1 MĚSÍC) |+---------------------------------- ----------+| 2021-06-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 MONTH); 

Výsledek:

+------------------------------------------+| SUBDATE('2021-05-01', INTERVAL -1 MĚSÍC) |+---------------------------------- ---------+| 2021-06-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 měsíců k našemu datu.

Příklad:

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

Výsledek:

+---------------------------------+| '2021-05-01' + INTERVAL 1 MĚSÍC |+---------------------------------+| 2021-06-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 MONTH; 

Výsledek:

+----------------------------------+| '2021-05-01' - INTERVAL -1 MĚSÍC |+----------------------------------+| 2021-06-01 |+----------------------------------+

Bonus:ADD_MONTHS() Funkce

Od doby, kdy jsem poprvé napsal tento článek, byla do MariaDB zavedena nová funkce speciálně pro přidávání měsíců k datu.

Funkce se nazývá ADD_MONTHS() a byl představen v MariaDB 10.6.1 pro zvýšení kompatibility Oracle.

Myslím, že by se tento článek měl jmenovat 7 způsobů, jak přidat měsíc k datu… 🙂

Příklad:

SELECT ADD_MONTHS('2020-01-01', 3); 

Výsledek:

+-----------------------------+| ADD_MONTHS('2020-01-01', 3) |+-----------------------------+| 2020-04-01 |+-----------------------------+

Další jednotky data a času

Výše uvedené příklady přidávají k datu počet měsíců, 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, najdete v části MariaDB Datum a čas.


  1. Odstraňte duplikát z tabulky

  2. Sestavení problému cx_Oracle - libclntsh.so.11.1 => nenalezeno

  3. Připojení Orbeon Forms Postgres DB

  4. Spring's Stored Procedure - výsledky vracející se z procedury vždy prázdné