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ímDAY
klíčové slovo.
INTERVAL
klíčové slovo se používá k přidání nebo odečtení časového intervalu kDATETIME
,DATE
neboTIME
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/časuDAY
, ale stejně tak to může býtMONTH
,YEAR
,HOUR
atd., stejně jako řadu složených jednotek.
DATE_ADD()
Funkce
DATE_ADD()
funkce funguje stejně jakoADDDATE()
při použití podrobné syntaxe. Ve skutečnosti při použití podrobné syntaxeADDDATE()
je synonymem proDATE_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ě jakoADDDATE()
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()
FunkceZde 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átorDalší 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ýtMONTH
,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.