В MySQL, FROM_DAYS()
функцията връща стойност за дата въз основа на броя дни, предоставени като аргумент.
Тази статия съдържа примери за демонстрация.
Синтаксис
Синтаксисът е така:
FROM_DAYS(N)
Където N
е броят на дните от ден 0 .
Пример
Ето пример за демонстрация.
SELECT FROM_DAYS(366);
Резултат:
+----------------+ | FROM_DAYS(366) | +----------------+ | 0001-01-01 | +----------------+
Въпреки че имайте предвид, че документацията на MySQL съветва, че тази функция не е предназначена за използване със стойности, които предхождат появата на Григорианския календар (1582 г.).
Ето пример с по-късна дата:
SELECT FROM_DAYS(645000);
Резултат:
+-------------------+ | FROM_DAYS(645000) | +-------------------+ | 1765-12-13 | +-------------------+
И пак по-късна дата:
SELECT FROM_DAYS(745000);
Резултат:
+-------------------+ | FROM_DAYS(745000) | +-------------------+ | 2039-09-28 | +-------------------+
FROM_DAYS() срещу TO_DAYS()
FROM_DAYS()
функцията е противоположна на TO_DAYS()
, който при дадена дата и дата връща номера на деня. Ето пример за демонстриране на връзката между тези две функции:
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Резултат:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Така че в този пример използвам TO_DAYS()
за да върнете броя на дните от текущата дата. След това използвам FROM_DAYS()
за да върне датата от тази стойност (която, както се очаква, се връща към оригиналната стойност на CURDATE()
).