Chceme-li od aktuálního datetime odečíst 30 dní, musíme nejprve získat informace o aktuálním čase data a poté použít metodu now() z MySQL. Metoda now() poskytuje informace o aktuálním čase data.
Metoda, kterou k tomu použijeme, je DATE_SUB() z MySQL. Zde je syntaxe pro odečtení 30 dnů od aktuálního času data.
Syntaxe je následující –
DATE_SUB(NOW(),INTERVAL 30 DAY);
Výše uvedená syntaxe nejprve vypočítá aktuální čas data a v dalším kroku odečte 30 dnů. Podívejme se nejprve na dotaz pro získání aktuálního datetime –
mysql> select now();
Tady je výstup –
+---------------------+| now() |+---------------------+| 2018-11-23 16:38:43 |+---------------------+1 row in set (0.00 sec)
Nyní použijeme metodu date_sub() pro odečtení 30 dnů. Dotaz je následující –
mysql> select date_sub(now(),interval 30 day);
Tady je výstup zobrazující datum po odečtení 30 dnů –
+---------------------------------+| date_sub(now(),interval 30 day) |+---------------------------------+| 2018-10-24 16:38:50 |+---------------------------------+1 row in set (0.00 sec)
Chcete-li ve výsledku získat pouze hodnotu data, můžete místo now() použít curdate(). Zde je ukázka funkce curdate().
Dotaz je následující –
mysql> select date_sub(curdate(),interval 30 day);
Následující výstup je –
+-------------------------------------+| date_sub(curdate(),interval 30 day) |+-------------------------------------+| 2018-10-24 |+-------------------------------------+1 row in set (0.00 sec)
.