Di MariaDB, DAYOFYEAR()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan hari dalam setahun dari tanggal tertentu.
Ia menerima satu argumen, yang merupakan tanggal Anda ingin mengekstrak hari dalam setahun.
Ini mengembalikan hari sebagai angka dalam rentang 1
ke 366
.
Sintaks
Sintaksnya seperti ini:
DAYOFYEAR(date)
Dimana date
adalah tanggal untuk mendapatkan hari dalam setahun.
Contoh
Ini contohnya:
SELECT DAYOFYEAR('2030-12-25');
Hasil:
+-------------------------+| DAYOFYEAR('2030-12-25') |+-------------------------+| 359 |+-------------------------+
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT DAYOFYEAR('2030-02-01 10:30:45');
Hasil:
+----------------------------------+| DAYOFYEAR('2030-02-01 10:30:45') |+--------------------------------- -+| 32 |+-----------------------------------+
Nol Hari
Hasil nol hari dalam null
.
Contoh:
SELECT DAYOFYEAR('2030-00-00');
Hasil:
+-------------------------+| DAYOFYEAR('2030-00-00') |+-------------------------+| NULL |+------------------------+
Tanggal Numerik
Dimungkinkan juga untuk melewatkan tanggal sebagai angka, asalkan masuk akal sebagai tanggal.
Contoh
SELECT DAYOFYEAR(20301125);
Hasil:
+---------------------+| DAYOFYEAR (20301125) |+---------------------+| 329 |+---------------------+
Atau bahkan yang berikut (yang menggunakan tahun dua digit):
SELECT DAYOFYEAR(301125);
Hasil:
+-------------------+| DAYOFYEAR(301125) |+-------------------+| 329 |+-------------------+
Tapi itu harus masuk akal sebagai kencan. Inilah yang terjadi jika saya menambah bagian hari menjadi hari yang tidak valid:
SELECT DAYOFYEAR(20300135);
Hasil:
+---------------------+| DAYOFYEAR (20300135) |+---------------------+| NULL |+---------------------+
Pembatas Lainnya
Anda dapat menggunakan pembatas lain untuk tanggal. MariaDB cukup pemaaf dalam hal pembatas tanggal. Berikut adalah beberapa contoh yang valid:
SELECT
DAYOFYEAR('2030/06/25'),
DAYOFYEAR('2030,06,25'),
DAYOFYEAR('2030:06:25'),
DAYOFYEAR('2030;06!25');
Hasil (menggunakan keluaran vertikal):
DAYOFYEAR('2030/06/25'):176DAYOFYEAR('2030,06,25'):176DAYOFYEAR('2030:06:25'):176DAYOFYEAR('2030;06!25'):176Tanggal Saat Ini
Kita dapat melewati
NOW()
sebagai argumen tanggal untuk menggunakan tanggal saat ini:SELECT NOW(), DAYOFYEAR(NOW());
Hasil:
+---------------------+------------------+| SEKARANG() | DAYOFYEAR(SEKARANG()) |+---------------------+------------------+| 2021-05-16 09:05:57 | 136 |+---------------------+------------------+Argumen Tidak Valid
Saat memberikan argumen yang tidak valid,
DAYOFYEAR()
mengembalikannull
:SELECT DAYOFYEAR('Friday');
Hasil:
+---------------------+| DAYOFYEAR('Jumat') |+---------------------+| NULL |+---------------------+Argumen Tidak Ada
Memanggil
DAYOFYEAR()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:SELECT DAYOFYEAR();
Hasil:
ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'DAYOFYEAR'Dan contoh lain:
SELECT DAYOFYEAR('2030-01-25', '2045-05-08');
Hasil:
ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'DAYOFYEAR'