Di MySQL, Anda dapat menggunakan DATE_FORMAT()
fungsi dengan %b
penentu format untuk mengembalikan nama bulan pendek. Misalnya, Anda dapat mengembalikan Jan
atau Feb
bukannya January
atau February
.
Contoh
SELECT DATE_FORMAT('2035-01-18', '%b');
Hasil:
Jan
Berikut ini contoh lain yang berjalan melalui berbagai bulan dalam setahun:
SELECT
DATE_FORMAT('2035-01-18', '%b') AS "1",
DATE_FORMAT('2035-02-18', '%b') AS "2",
DATE_FORMAT('2035-03-18', '%b') AS "3",
DATE_FORMAT('2035-04-18', '%b') AS "4",
DATE_FORMAT('2035-05-18', '%b') AS "5",
DATE_FORMAT('2035-06-18', '%b') AS "6",
DATE_FORMAT('2035-07-18', '%b') AS "7",
DATE_FORMAT('2035-08-18', '%b') AS "8",
DATE_FORMAT('2035-09-18', '%b') AS "9",
DATE_FORMAT('2035-10-18', '%b') AS "10",
DATE_FORMAT('2035-11-18', '%b') AS "11",
DATE_FORMAT('2035-12-18', '%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 adalah tentang mengembalikan nama bulan pendek.
Lihat Penentu Format Tanggal MySQL untuk daftar penentu format yang dapat digunakan dengan DATE_FORMAT()
.
Singkat Nama Bulan Penuh
Jika Anda perlu mempersingkat nama bulan penuh, Anda selalu dapat menggunakan fungsi seperti LEFT()
untuk mengembalikan hanya tiga karakter pertama (atau sebanyak yang Anda butuhkan).
Contoh:
SELECT
DATE_FORMAT('2035-09-18', '%M') AS Full,
LEFT(DATE_FORMAT('2035-09-18', '%M'), 3) AS Short;
Hasil:
+-----------+-------+ | Full | Short | +-----------+-------+ | September | Sep | +-----------+-------+
Sebagai alternatif, kita dapat menggunakan fungsi seperti CAST()
untuk mengkonversi ke tipe data dengan hanya tiga karakter, seperti ini:
SELECT
DATE_FORMAT('2035-09-18', '%M') AS Full,
CAST(DATE_FORMAT('2035-09-18', '%M') AS CHAR(3)) AS Short;
Hasil:
+-----------+-------+ | Full | Short | +-----------+-------+ | September | Sep | +-----------+-------+ 1 row in set, 1 warning (0.00 sec)
Dalam hal ini, kami mendapat peringatan karena kami memotong nilai yang lebih panjang:
show warnings;
Hasil:
+---------+------+------------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------------+ | Warning | 1292 | Truncated incorrect CHAR(3) value: 'September' | +---------+------+------------------------------------------------+
Mempersingkat nama bulan seperti ini bisa jadi baik-baik saja saat bekerja dengan bahasa seperti bahasa Inggris, tetapi perhatikan bahwa itu mungkin tidak mengembalikan hasil yang sama seperti saat menggunakan %b
penentu format.
Untuk mendemonstrasikan apa yang saya maksud, inilah yang terjadi ketika saya mengalihkan sesi saya untuk menggunakan bahasa Thailand:
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2023-10-25', '%M') AS Full,
LEFT(DATE_FORMAT('2023-10-25', '%M'), 3) AS Truncated,
DATE_FORMAT('2023-10-25', '%b') AS Short;
Hasil:
+--------------------+-----------+----------+ | Full | Truncated | Short | +--------------------+-----------+----------+ | ตุลาคม | ตุล | ต.ค. | +--------------------+-----------+----------+
Memotong nama bulan penuh mengembalikan hasil yang berbeda dari menggunakan %b
penentu format untuk mengembalikan nama bulan pendek.