Di MariaDB, Anda dapat menggunakan DATE_FORMAT()
berfungsi untuk mengembalikan berbagai bagian tanggal dari tanggal. Salah satu hal yang dapat Anda kembalikan adalah nama hari pendek. Misalnya Tue
atau Wed
(bukan Tuesday
atau Wed
).
Penentu Format “Nama Hari Singkat” (%a
)
Kunci untuk mengembalikan nama hari pendek saat menggunakan DATE_FORMAT()
fungsinya adalah menggunakan penentu format yang berlaku.
Di MariaDB, penentu format untuk nama hari pendek adalah:%a
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT DATE_FORMAT('2023-07-25', '%a');
Hasil:
+---------------------------------+ | DATE_FORMAT('2023-07-25', '%a') | +---------------------------------+ | Tue | +---------------------------------+
Berikut contoh lain yang berjalan melalui berbagai hari dalam seminggu:
SELECT
DATE_FORMAT('2023-07-24', '%a') AS "1",
DATE_FORMAT('2023-07-25', '%a') AS "2",
DATE_FORMAT('2023-07-26', '%a') AS "3",
DATE_FORMAT('2023-07-27', '%a') AS "4",
DATE_FORMAT('2023-07-28', '%a') AS "5",
DATE_FORMAT('2023-07-29', '%a') AS "6",
DATE_FORMAT('2023-07-30', '%a') AS "7";
Hasil:
+------+------+------+------+------+------+------+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | +------+------+------+------+------+------+------+ | Mon | Tue | Wed | Thu | Fri | Sat | Sun | +------+------+------+------+------+------+------+
Anda juga dapat mengembalikan unit tanggal dan waktu lainnya, tetapi artikel ini secara khusus tentang mengembalikan nama hari pendek. Lihat String Format MariaDB untuk daftar penentu format yang dapat digunakan dengan DATE_FORMAT()
.
Pendekatan Lain
Ada cara lain untuk mendapatkan nama hari pendek dari tanggal yang melibatkan pemotongan bagian pertama hari itu.
Namun, ini bisa lebih rentan terhadap kesalahan daripada metode di atas (ditambah lebih berbelit-belit). Anda bisa mendapatkan beberapa hasil yang tidak terduga saat menggunakan metode ini, terutama saat bekerja dengan bahasa yang berbeda.
Berikut adalah beberapa contoh untuk menunjukkan apa yang saya maksud.
Alih-alih menggunakan %a
penentu format seperti yang kita lakukan pada contoh sebelumnya, kita dapat menggunakan %W
penentu format untuk mengembalikan nama hari penuh, lalu kembali mempersingkat hasil itu dengan fungsi seperti LEFT()
.
Contoh:
SELECT
DATE_FORMAT('2023-07-25', '%W') AS Full,
LEFT(DATE_FORMAT('2023-07-25', '%W'), 3) AS Short;
Hasil:
+---------+-------+ | Full | Short | +---------+-------+ | Tuesday | Tue | +---------+-------+
Sebagai alternatif, kita dapat menggunakan fungsi seperti CAST()
untuk mengkonversi ke tipe data dengan hanya tiga karakter, seperti ini:
SELECT
DATE_FORMAT('2023-07-25', '%W') AS Full,
CAST(DATE_FORMAT('2023-07-25', '%W') AS CHAR(3)) AS Short;
Hasil:
+---------+-------+ | Full | Short | +---------+-------+ | Tuesday | Tue | +---------+-------+
Ini berfungsi dengan baik ketika bekerja dengan bahasa Inggris (dan mungkin beberapa bahasa lain). Tapi mari kita lihat apa yang terjadi ketika kita beralih ke bahasa lain – katakanlah, Jepang:
SELECT
DATE_FORMAT('2023-07-25', '%W', 'ja_JP') AS Full,
LEFT(DATE_FORMAT('2023-07-25', '%W', 'ja_JP'), 3) AS Short;
Hasil:
+-----------+-----------+ | Full | Short | +-----------+-----------+ | 火曜日 | 火曜日 | +-----------+-----------+
Dalam hal ini, tidak ada perbedaan.
Sebaliknya, inilah yang terjadi ketika kita menggunakan %a
penentu format untuk mengembalikan nama hari pendek:
SELECT
DATE_FORMAT('2023-07-25', '%W', 'ja_JP') AS Full,
DATE_FORMAT('2023-07-25', '%a', 'ja_JP') AS Short;
Hasil:
+-----------+-------+ | Full | Short | +-----------+-------+ | 火曜日 | 火 | +-----------+-------+
Jadi saya sarankan menggunakan %a
penentu format bila memungkinkan.