V MySQL je to FROM_DAYS()
funkce vrací hodnotu data na základě počtu dnů poskytnutých jako argument.
Tento článek obsahuje příklady k demonstraci.
Syntaxe
Syntaxe vypadá takto:
FROM_DAYS(N)
Kde N
je počet dní ode dne 0 .
Příklad
Zde je příklad k demonstraci.
SELECT FROM_DAYS(366);
Výsledek:
+----------------+ | FROM_DAYS(366) | +----------------+ | 0001-01-01 | +----------------+
Ačkoli si všimněte, že dokumentace MySQL uvádí, že tato funkce není určena pro použití s hodnotami, které předcházejí příchodu gregoriánského kalendáře (1582).
Zde je příklad s pozdějším datem:
SELECT FROM_DAYS(645000);
Výsledek:
+-------------------+ | FROM_DAYS(645000) | +-------------------+ | 1765-12-13 | +-------------------+
A znovu pozdější datum:
SELECT FROM_DAYS(745000);
Výsledek:
+-------------------+ | FROM_DAYS(745000) | +-------------------+ | 2039-09-28 | +-------------------+
FROM_DAYS() vs TO_DAYS()
FROM_DAYS()
Funkce je opakem funkce TO_DAYS()
, který po zadání data vrátí číslo dne. Zde je příklad demonstrující vztah mezi těmito dvěma funkcemi:
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Výsledek:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
V tomto příkladu tedy používám TO_DAYS()
vrátit počet dní od aktuálního data. Poté použiji FROM_DAYS()
vrátit datum z této hodnoty (které se podle očekávání vrátí zpět na původní hodnotu CURDATE()
).