Di MariaDB, WEEKDAY()
adalah fungsi tanggal dan waktu bawaan yang mengembalikan hari kerja dari tanggal tertentu.
Ia menerima satu argumen, yaitu tanggal yang ingin Anda ekstrak dari hari kerja.
Ini mengembalikan hari sebagai angka. Penomoran indeks dimulai dari nol untuk hari Senin (yaitu 0
=Senin, 1
=Selasa, dll). Ini berbeda dengan DAYOFWEEK()
, yang mematuhi standar ODBC (1
=Minggu, 2
=Senin, dll).
Sintaks
Sintaksnya seperti ini:
WEEKDAY(date)
Dimana date
adalah tanggal untuk mendapatkan hari minggu.
Contoh
Ini contohnya:
SELECT WEEKDAY('2030-01-25');
Hasil:
+------------------------+| WEEKDAY('2030-01-25') |+-----------------------+| 4 |+------------------------+
Dibandingkan dengan Nama Hari
Ini satu lagi, di samping DAYNAME()
untuk mengembalikan nama hari:
SELECT
WEEKDAY('2030-01-21'),
DAYNAME('2030-01-21');
Hasil:
+------------------------+----------------------- -+| WEEKDAY('2030-01-21') | DAYNAME('2030-01-21') |+------------+-------------- ---------+| 0 | Senin |+-----------------------+----------------------- +
Seperti yang disebutkan, penomoran indeks dimulai dari 0 untuk hari Senin.
Ini hari Minggu:
SELECT
WEEKDAY('2030-01-20'),
DAYNAME('2030-01-20');
Hasil:
+------------------------+----------------------- -+| WEEKDAY('2030-01-20') | DAYNAME('2030-01-20') |+-----------------------+-------------- ---------+| 6 | Minggu |+-----------------------+----------------------- +
Nilai Tanggal-waktu
Ini juga berfungsi dengan nilai datetime:
SELECT WEEKDAY('2030-01-24 10:30:45');
Hasil:
+--------------------------------+| WEEKDAY('2030-01-24 10:30:45') |+--------------------------------+ | 3 |+--------------------------------+
Nol Hari
Hasil nol hari dalam null
.
Contoh:
SELECT WEEKDAY('2030-00-00');
Hasil:
+------------------------+| WEEKDAY('2030-00-00') |+-----------------------+| NULL |+-----------------------+
Tanggal Numerik
Dimungkinkan juga untuk melewatkan tanggal sebagai angka, asalkan masuk akal sebagai tanggal.
Contoh
SELECT WEEKDAY(20300125);
Hasil:
+-------------------+| WEEKDAY (20300125) |+-------------------+| 4 |+-------------------+
Atau bahkan yang berikut (yang menggunakan tahun dua digit):
SELECT WEEKDAY(300125);
Hasil:
+-----------------+| WEEKDAY(300125) |+-----------------+| 4 |+-----------------+
Tapi itu harus masuk akal sebagai kencan. Inilah yang terjadi jika saya menambah bagian hari menjadi hari yang tidak valid:
SELECT WEEKDAY(20300135);
Hasil:
+-------------------+| WEEKDAY (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
WEEKDAY('2030/01/25'),
WEEKDAY('2030,01,25'),
WEEKDAY('2030:01:25'),
WEEKDAY('2030;01!25');
Hasil (menggunakan keluaran vertikal):
WEEKDAY('2030/01/25'):4WEEKDAY('2030,01,25'):4WEEKDAY('2030:01:25'):4WEEKDAY('2030;01!25'):4Tanggal Saat Ini
Kita dapat melewati
NOW()
sebagai argumen tanggal untuk menggunakan tanggal saat ini:SELECT NOW(), WEEKDAY(NOW());
Hasil:
+---------------------+----------------+| SEKARANG() | WEEKDAY(SEKARANG()) |+---------------------+----------------+| 2021-05-15 09:44:50 | 5 |+---------------------+----------------+Argumen Tidak Valid
Saat memberikan argumen yang tidak valid,
WEEKDAY()
mengembalikannull
:SELECT WEEKDAY('Homer');
Hasil:
+------------------+| WEEKDAY('Homer') |+------------------+| NULL |+------------------+Argumen Tidak Ada
Memanggil
WEEKDAY()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:SELECT WEEKDAY();
Hasil:
ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'WEEKDAY'Dan contoh lain:
SELECT WEEKDAY('2030-01-25', '2045-05-08');
Hasil:
ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'WEEKDAY'