Di MariaDB, Anda dapat menggunakan DATE_FORMAT()
berfungsi untuk mengembalikan berbagai bagian tanggal dari tanggal. Salah satu hal yang dapat Anda kembalikan adalah nama bulan yang pendek. Misalnya Nov
atau Dec
(bukan November
atau December
).
Penentu Format “Nama Bulan Pendek” (%b
)
Kunci untuk mengembalikan nama bulan pendek saat menggunakan DATE_FORMAT()
fungsinya adalah menggunakan penentu format yang berlaku.
Di MariaDB, penentu format untuk nama bulan pendek adalah:%b
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT DATE_FORMAT('2023-12-25', '%b');
Hasil:
+---------------------------------+ | DATE_FORMAT('2023-12-25', '%b') | +---------------------------------+ | Dec | +---------------------------------+
Berikut ini contoh lain yang berjalan melalui berbagai bulan dalam setahun:
SELECT
DATE_FORMAT('2023-01-25', '%b') AS "1",
DATE_FORMAT('2023-02-25', '%b') AS "2",
DATE_FORMAT('2023-03-25', '%b') AS "3",
DATE_FORMAT('2023-04-25', '%b') AS "4",
DATE_FORMAT('2023-05-25', '%b') AS "5",
DATE_FORMAT('2023-06-25', '%b') AS "6",
DATE_FORMAT('2023-07-25', '%b') AS "7",
DATE_FORMAT('2023-08-25', '%b') AS "8",
DATE_FORMAT('2023-09-25', '%b') AS "9",
DATE_FORMAT('2023-10-25', '%b') AS "10",
DATE_FORMAT('2023-11-25', '%b') AS "11",
DATE_FORMAT('2023-12-25', '%b') AS "12";
Hasil (menggunakan keluaran vertikal):
1: Jan 2: Feb 3: Mar 4: Apr 5: May 6: Jun 7: Jul 8: Aug 9: Sep 10: Oct 11: Nov 12: Dec
Anda juga dapat mengembalikan unit tanggal dan waktu lainnya, tetapi artikel ini secara khusus tentang mengembalikan nama bulan pendek. Lihat String Format MariaDB untuk daftar penentu format yang dapat digunakan dengan DATE_FORMAT()
.
Pendekatan Lain
Ada cara lain untuk mendapatkan nama bulan pendek dari tanggal yang melibatkan pemotongan bagian pertama bulan 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 %b
penentu format seperti yang kita lakukan pada contoh sebelumnya, kita dapat menggunakan %M
format specifier untuk mengembalikan nama bulan penuh, lalu mengembalikan hasil yang dipersingkat dengan fungsi seperti LEFT()
.
Contoh:
SELECT
DATE_FORMAT('2023-10-25', '%M') AS Full,
LEFT(DATE_FORMAT('2023-10-25', '%M'), 3) AS Short;
Hasil:
+---------+-------+ | Full | Short | +---------+-------+ | October | Oct | +---------+-------+
Sebagai alternatif, kita dapat menggunakan fungsi seperti CAST()
untuk mengkonversi ke tipe data dengan hanya tiga karakter, seperti ini:
SELECT
DATE_FORMAT('2023-10-25', '%M') AS Full,
CAST(DATE_FORMAT('2023-10-25', '%M') AS CHAR(3)) AS Short;
Hasil:
+---------+-------+ | Full | Short | +---------+-------+ | October | Oct | +---------+-------+
Ini berfungsi dengan baik ketika bekerja dengan bahasa Inggris (dan mungkin beberapa bahasa lain). Tapi mari kita lihat apa yang terjadi saat kita beralih ke bahasa lain – misalnya, bahasa Thailand:
SELECT
DATE_FORMAT('2023-10-25', '%M', 'th_TH') AS Full,
LEFT(DATE_FORMAT('2023-10-25', '%M', 'th_TH'), 3) AS Short;
Hasil:
+--------------------+-----------+ | Full | Short | +--------------------+-----------+ | ตุลาคม | ตุล | +--------------------+-----------+
Namun, inilah yang terjadi saat kita menggunakan %b
penentu format untuk mengembalikan nama bulan pendek:
SELECT
DATE_FORMAT('2023-10-25', '%M', 'th_TH') AS Full,
DATE_FORMAT('2023-10-25', '%b', 'th_TH') AS Short;
Hasil:
+--------------------+----------+ | Full | Short | +--------------------+----------+ | ตุลาคม | ต.ค. | +--------------------+----------+
Ini mengembalikan hasil yang berbeda.
Jadi saya sarankan menggunakan %b
penentu format bila memungkinkan.