Di bawah ini adalah tiga pendekatan yang dapat Anda gunakan untuk mendapatkan nama hari dari tanggal di MariaDB.
Dua dari pendekatan ini mengembalikan nama hari penuh, dan satu mengembalikan nama hari pendek.
The DAYNAME()
Fungsi
DAYNAME()
fungsi dirancang khusus untuk mengembalikan nama hari dari tanggal. Cukup lewati tanggal saat memanggil fungsi, dan itu akan mengembalikan nama hari penuh.
Contoh:
SELECT DAYNAME('2021-08-19');
Hasil:
+-----------------------+ | DAYNAME('2021-08-19') | +-----------------------+ | Thursday | +-----------------------+
Bahasa yang digunakan untuk nama hari dikendalikan oleh nilai lc_time_names
variabel sistem. Lihat DAYNAME()
untuk contoh bagaimana hal ini memengaruhi output.
DATE_FORMAT()
Fungsi
DATE_FORMAT()
fungsi memformat tanggal tertentu ke dalam format tertentu. Anda menentukan tanggal dan format saat Anda memanggil fungsi.
Anda dapat mengembalikan nama lengkap hari kerja dengan mengirimkan %W
sebagai format string.
Contoh:
SELECT DATE_FORMAT('2021-08-19', '%W');
Hasil:
+---------------------------------+ | DATE_FORMAT('2021-08-19', '%W') | +---------------------------------+ | Thursday | +---------------------------------+
Seperti halnya DAYNAME()
, bahasa yang digunakan untuk nama hari dikendalikan oleh nilai lc_time_names
variabel sistem. Namun, DATE_FORMAT()
function menerima argumen ketiga opsional yang memungkinkan Anda menentukan lokal.
Berikut ini contoh menentukan lokal:
SELECT DATE_FORMAT('2021-08-19', '%W', 'ca_ES');
Hasil:
+------------------------------------------+ | DATE_FORMAT('2021-08-19', '%W', 'ca_ES') | +------------------------------------------+ | dijous | +------------------------------------------+
Nama Hari Singkat
Melewati %a
ke DATE_FORMAT()
fungsi mengembalikan nama pendek hari kerja.
Contoh:
SELECT DATE_FORMAT('2021-08-19', '%a');
Hasil:
+---------------------------------+ | DATE_FORMAT('2021-08-19', '%a') | +---------------------------------+ | Thu | +---------------------------------+
Ini dapat direplikasi dengan DAYNAME()
fungsi dengan menggunakan LEFT()
untuk mengambil 3 karakter pertama dari nama hari kerja.
Contoh:
SELECT LEFT(DAYNAME('2021-08-19'), 3);
Hasil:
+--------------------------------+ | LEFT(DAYNAME('2021-08-19'), 3) | +--------------------------------+ | Thu | +--------------------------------+
Efek yang sama juga dapat dicapai dengan menggunakan fungsi seperti CAST()
untuk mengonversi hasil menjadi tipe data dengan tiga karakter.
Namun, meskipun pendekatan ini bekerja di en_US
, itu mungkin tidak selalu berfungsi dalam bahasa lain. Misalnya:
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2021-08-19', '%a') AS "Short 1",
LEFT(DAYNAME('2021-08-19'), 3) AS "Short 2",
DAYNAME('2021-08-19') AS "Full";
Hasil:
+---------+-----------+--------------------------+ | Short 1 | Short 2 | Full | +---------+-----------+--------------------------+ | พฤ. | พฤห | พฤหัสบดี | +---------+-----------+--------------------------+