Khi sử dụng MySQL, bạn có thể sử dụng MAKEDATE()
hàm để trả về một ngày từ các phần của năm và ngày trong năm.
Nói cách khác, bạn cung cấp hai đối số; một là năm, và kia là ngày trong năm. MAKEDATE()
sau đó hàm sẽ trả về giá trị ngày tháng dựa trên hai đối số đó.
Cú pháp
Cú pháp như sau:
MAKEDATE(year,dayofyear)
Nơi year
là phần của năm và dayofyear
là phần của ngày trong năm.
Ví dụ 1 - Cách sử dụng cơ bản
Đây là một ví dụ để chứng minh.
SELECT MAKEDATE(2021,10);
Kết quả:
+-------------------+ | MAKEDATE(2021,10) | +-------------------+ | 2021-01-10 | +-------------------+
Vì vậy, bởi vì 10
nghĩa là ngày 10 trong năm, có nghĩa là ngày 10 tháng 1.
Ví dụ 2 - Giá trị ngày trong năm lớn hơn
Dưới đây là một ví dụ sử dụng giá trị ngày trong năm lớn hơn.
SELECT MAKEDATE(2021,350);
Kết quả:
+--------------------+ | MAKEDATE(2021,350) | +--------------------+ | 2021-12-16 | +--------------------+
Vì vậy, trong trường hợp này, ngày thứ 350 của năm là ngày 16 tháng 12.
Bạn cũng có thể sử dụng các giá trị lớn hơn 365 (hoặc 366 cho năm nhuận). Nếu bạn làm điều này, kết quả sẽ chuyển sang năm dương lịch mới theo yêu cầu.
SELECT MAKEDATE(2021,500), MAKEDATE(2021,5000);
Kết quả:
+--------------------+---------------------+ | MAKEDATE(2021,500) | MAKEDATE(2021,5000) | +--------------------+---------------------+ | 2022-05-15 | 2034-09-09 | +--------------------+---------------------+
Ví dụ 3 - Năm nhuận
Hãy lưu ý đến những năm nhuận khi sử dụng chức năng này.
SELECT MAKEDATE(2020,350), MAKEDATE(2021,350);
Kết quả:
+--------------------+--------------------+ | MAKEDATE(2020,350) | MAKEDATE(2021,350) | +--------------------+--------------------+ | 2020-12-15 | 2021-12-16 | +--------------------+--------------------+
Trong trường hợp này, năm 2020 là một năm nhuận. Và vì tháng Hai có thêm một ngày trong các năm nhuận, điều này ảnh hưởng đến kết quả của các giá trị ngày còn lại trong năm.
Ví dụ 4 - Giá trị 0
Nếu bạn cung cấp giá trị 0, kết quả là NULL
.
SELECT MAKEDATE(2020,0);
Kết quả:
+------------------+ | MAKEDATE(2020,0) | +------------------+ | NULL | +------------------+