MariaDB poskytuje několik způsobů, jak přidat určitý počet dní k danému datu. Můžete například chtít přidat k datu 10 dní nebo 30 dní nebo dokonce jen 1 den. Naštěstí to MariaDB usnadňuje.
Zde je 8 způsobů, jak přidat počet dní k danému datu v MariaDB.
ADDDATE() Funkce
Začněme s ADDDATE() funkce.
Tato funkce má dvě různé syntaxe. První syntaxe poskytuje stručný způsob přidání určitého počtu dní k datu.
Příklad:
SELECT ADDDATE('2021-05-01', 10); Výsledek:
+---------------------------+| ADDDATE('2021-05-01', 10) |+---------------------------+| 2021-05-11 |+---------------------------+ Pomocí této syntaxe poskytujeme dva argumenty. První argument je datum a druhý je počet dní, které se mají k tomuto datu přidat.
ADDDATE() Funkce – Syntaxe 2
ADDDATE() funkce má také podrobnější syntaxi. Tato syntaxe nám umožňuje být jasnější v tom, jak přidáváme dny k datu.
Příklad:
SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY); Výsledek:
+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 10 DNŮ) |+----------------------------------- ------+| 2021-05-11 |+----------------------------------------+
V tomto případě používáme INTERVAL klíčové slovo, za nímž následuje počet dní a za ním DAY klíčové slovo.
INTERVAL klíčové slovo se používá k přidání nebo odečtení časového intervalu k DATETIME , DATE nebo TIME hodnota. Můžeme jej použít pro data spolu s příslušnou jednotkou data/času k přidání určitého počtu dní k našemu datu. V našem případě je jednotka data/času DAY , ale stejně tak to může být MONTH , YEAR , HOUR atd., stejně jako řadu složených jednotek.
DATE_ADD() Funkce
DATE_ADD() funkce funguje stejně jako ADDDATE() při použití podrobné syntaxe. Ve skutečnosti při použití podrobné syntaxe ADDDATE() je synonymem pro DATE_ADD() .
Příklad:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 DAY);
Výsledek:
+-----------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 10 DNŮ) |+---------------------------------- -------+| 2021-05-11 |+-----------------------------------------+ SUBDATE() Funkce – Syntaxe 1
SUBDATE() 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 SUBDATE('2021-05-01', -10);
Výsledek:
+----------------------------+| SUBDATE('2021-05-01', -10) |+----------------------------+| 2021-05-11 |+----------------------------+ SUBDATE() Funkce – Syntaxe 2
SUBDATE() funkce má také podrobnější syntaxi (podobně jako ADDDATE() funkce).
Příklad:
SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY);
Výsledek:
+-----------------------------------------+| SUBDATE('2021-05-01', INTERVAL -10 DAY) |+---------------------------------- --------+| 2021-05-11 |+-----------------------------------------+ DATE_SUB() Funkce
Zde je příklad, který používá DATE_SUB() funkce:
SELECT DATE_SUB('2021-05-01', INTERVAL -10 DAY);
Výsledek:
+------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -10 DEN) |+---------------------------------- ---------+| 2021-05-11 |+------------------------------------------+ 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 dní k našemu datu.
Příklad:
SELECT '2021-05-01' + INTERVAL 10 DAY;
Výsledek:
+--------------------------------+| '2021-05-01' + INTERVAL 10 DNŮ |+--------------------------------+| 2021-05-11 |+--------------------------------+
- Operátor
- operátor lze použít k odečtení částky od data. Pokud však odečtete záporné číslo, bude k datu přidána kladná částka:
SELECT '2021-05-01' - INTERVAL -10 DAY;
Výsledek:
+---------------------------------+| '2021-05-01' - INTERVAL -10 DNŮ |+---------------------------------+| 2021-05-11 |+---------------------------------+
BONUS:ADDTIME() Funkce
Řekl jsem, že tento článek obsahuje 8 způsobů, jak přidat dny k datu, ale zde je několik bonusových funkcí! Možná jsem měl tento článek nazvat „10 způsobů, jak přidat dny k hodnotě datetime“.
Každopádně můžete použít ADDTIME() funkce pro přidání počtu dní k výrazu datetime.
Příklad:
SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0');
Výsledek:
+-------------------------------------------+| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |+------------------------- --------------------+| 2021-05-02 10:30:45 |+--------------------------------------- -----+
Můžete také změnit další časové jednotky, jako jsou hodiny, minuty, sekundy atd.
Alternativně to můžete přepnout a použít SUBTIME() se zápornou hodnotou, pokud si to přejete:
SELECT SUBTIME('2021-05-01 10:30:45', '-1 0:0:0');
Výsledek:
+--------------------------------------------+| SUBTIME('2021-05-01 10:30:45', '-1 0:0:0') |+------------------------ ----------------------+| 2021-05-02 10:30:45 |+--------------------------------------- ------+ Další jednotky data a času
Výše uvedené příklady přidávají k datu počet dní, ale stejné techniky můžeme použít k přidání libovolné jednotky data/času. Používáme DAY jako jednotka data/času, ale jak již bylo zmíněno, stejně snadno to může být MONTH , YEAR , HOUR atd., stejně jako jakékoli složené jednotky.
Ú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.