Trong MySQL, FROM_DAYS()
hàm trả về giá trị ngày dựa trên số ngày được cung cấp dưới dạng đối số.
Bài viết này có các ví dụ để minh chứng.
Cú pháp
Cú pháp như sau:
FROM_DAYS(N)
Ở đâu N
là số ngày kể từ ngày 0 .
Ví dụ
Đây là một ví dụ để chứng minh.
SELECT FROM_DAYS(366);
Kết quả:
+----------------+ | FROM_DAYS(366) | +----------------+ | 0001-01-01 | +----------------+
Mặc dù lưu ý rằng tài liệu MySQL khuyên rằng hàm này không nhằm mục đích sử dụng với các giá trị trước sự ra đời của lịch Gregory (1582).
Dưới đây là một ví dụ với ngày sau:
SELECT FROM_DAYS(645000);
Kết quả:
+-------------------+ | FROM_DAYS(645000) | +-------------------+ | 1765-12-13 | +-------------------+
Và một ngày sau nữa:
SELECT FROM_DAYS(745000);
Kết quả:
+-------------------+ | FROM_DAYS(745000) | +-------------------+ | 2039-09-28 | +-------------------+
FROM_DAYS () so với TO_DAYS ()
FROM_DAYS()
hàm đối lập với TO_DAYS()
, mà, đã cho một ngày tháng, trả về số ngày. Dưới đây là một ví dụ để chứng minh mối quan hệ giữa hai chức năng này:
SELECT CURDATE(), TO_DAYS(CURDATE()), FROM_DAYS(TO_DAYS(CURDATE()));
Kết quả:
+------------+--------------------+-------------------------------+ | CURDATE() | TO_DAYS(CURDATE()) | FROM_DAYS(TO_DAYS(CURDATE())) | +------------+--------------------+-------------------------------+ | 2018-06-26 | 737236 | 2018-06-26 | +------------+--------------------+-------------------------------+
Vì vậy, trong ví dụ này, tôi sử dụng TO_DAYS()
để trả về số ngày kể từ ngày hiện tại. Sau đó, tôi sử dụng FROM_DAYS()
để trả về ngày từ giá trị đó (như mong đợi, giải quyết trở lại giá trị ban đầu của CURDATE()
).