Saat menggunakan MySQL, Anda dapat menggunakan MAKEDATE()
berfungsi untuk mengembalikan tanggal dari bagian tahun dan hari.
Dengan kata lain, Anda memberikan dua argumen; satu adalah tahun, dan yang lainnya adalah hari dalam setahun. MAKEDATE()
function kemudian akan mengembalikan nilai tanggal berdasarkan dua argumen tersebut.
Sintaks
Sintaksnya seperti ini:
DIBUAT(tahun,haritahun)
Dimana year
adalah bagian tahun, dan dayofyear
adalah bagian hari dalam setahun.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh untuk didemonstrasikan.
PILIH DIBUAT (2021,10);
Hasil:
+-------------------+| DIBUAT (2021,10) |+-------------------+| 10-01-2020 |+-------------------+
Jadi karena 10
berarti tanggal 10 dalam setahun, artinya tanggal 10 Januari.
Contoh 2 – Nilai Harian yang Lebih Besar
Berikut adalah contoh yang menggunakan nilai hari-tahun yang lebih besar.
PILIH DIBUAT (2021,350);
Hasil:
+--------------------+| DIBUAT (2021,350) |+--------------------+| 2021-12-16 |+--------------------+
Jadi dalam hal ini, hari ke-350 dalam setahun berakhir pada 16 Desember.
Anda juga dapat menggunakan nilai yang lebih besar dari 365 (atau 366 untuk tahun kabisat). Jika Anda melakukan ini, hasilnya akan beralih ke tahun kalender baru sesuai kebutuhan.
PILIH DIBUAT (2021.500), DIBUAT (2021.5000);
Hasil:
+--------------------+----------------------+| DIBUAT (2021.500) | DIBUAT (2021.5000) |+--------------------+--------------------- +| 2022-05-15 | 2034-09-09 |+--------------------+---------------------+
Contoh 3 – Tahun Kabisat
Perhatikan tahun kabisat saat menggunakan fungsi ini.
SELECT MAKEDATE(2020,350), MAKEDATE(2021,350);
Hasil:
+--------------------+--------------------+| DIBUAT(2020,350) | DIBUAT (2021,350) |+--------------------+--------------------+ | 2020-12-15 | 2021-12-16 |+--------------------+--------------------+Dalam hal ini, tahun 2020 adalah tahun kabisat. Dan karena Februari memiliki satu hari ekstra selama tahun kabisat, hal ini memengaruhi hasil nilai hari dalam setahun yang tersisa.
Contoh 4 – Nilai Nol
Jika Anda memberikan nilai nol, hasilnya adalah
NULL
.SELECT MAKEDATE(2020,0);Hasil:
+------------------+| DIBUAT(2020,0) |+------------------+| NULL |+------------------+