1. Pendahuluan
Dalam database MySQL, sering kali kita harus menangani data tanggal dan waktu. Tanggal yang disimpan di database biasanya menggunakan format standar, namun seringkali kita ingin mengubah formatnya agar lebih mudah dibaca saat ditampilkan ke pengguna. Di sinilah fungsi DATE_FORMAT
sangat berguna. Pada artikel ini, kita akan membahas cara menggunakan fungsi DATE_FORMAT
, berbagai opsi format yang tersedia, serta contoh praktis penggunaannya.
2. Gambaran Umum Fungsi DATE_FORMAT
2.1 Apa itu Fungsi DATE_FORMAT?
Fungsi DATE_FORMAT
di MySQL digunakan untuk mengonversi data tanggal ke format yang diinginkan. Bukan hanya format default seperti YYYY-MM-DD atau format tanggal dan waktu, melainkan Anda bisa menampilkan tanggal dalam bentuk apa pun sesuai kebutuhan. Misalnya, jika Anda ingin menampilkan tanggal kepada pengguna dalam format “16 September 2024”, fungsi ini sangat membantu.
2.2 Sintaks Dasar
Sintaks dasar fungsi DATE_FORMAT
adalah sebagai berikut:
DATE_FORMAT(date, format)
date
: Data tanggal yang ingin diubah formatnya.format
: String yang menentukan format tanggal keluaran.
Mari kita lihat contoh konkret:
SELECT DATE_FORMAT('2024-09-16', '%Y年%m月%d日') AS formatted_date;
Query ini akan mengubah tanggal ‘2024-09-16’ menjadi format “2024年09月16日”.

3. Parameter Format Tanggal
3.1 Daftar Penentu Format
Ada banyak penentu format (format specifier) yang dapat digunakan dalam fungsi DATE_FORMAT
. Berikut adalah beberapa yang utama:
%Y
: Tahun 4 digit (contoh: 2024)%y
: Tahun 2 digit (contoh: 24)%m
: Bulan 2 digit (01 hingga 12)%c
: Bulan (1 hingga 12)%d
: Hari 2 digit (01 hingga 31)%e
: Hari (1 hingga 31)%H
: Jam 24 jam (00 hingga 23)%h
atau%I
: Jam 12 jam (01 hingga 12)%i
: Menit (00 hingga 59)%s
: Detik (00 hingga 59)%p
: AM atau PM
3.2 Contoh Praktis
Mari kita lihat bagaimana hasil keluaran dengan berbagai penentu format ini.
SELECT
DATE_FORMAT('2024-09-16 14:35:59', '%Y-%m-%d %H:%i:%s') AS full_format,
DATE_FORMAT('2024-09-16 14:35:59', '%Y年%m月%d日') AS japanese_format,
DATE_FORMAT('2024-09-16 14:35:59', '%d/%m/%Y') AS european_format,
DATE_FORMAT('2024-09-16 14:35:59', '%h:%i %p') AS twelve_hour_format;
Hasil keluaran query di atas adalah sebagai berikut:
full_format
: 2024-09-16 14:35:59japanese_format
: 2024年09月16日european_format
: 16/09/2024twelve_hour_format
: 02:35 PM
4. Contoh Penggunaan Praktis
4.1 Skenario 1: Pembuatan Laporan
Misalnya, saat membuat laporan bulanan di perusahaan, Anda ingin menampilkan tanggal dalam format “YYYY年MM月”. Query berikut dapat digunakan untuk format tanggal laporan seperti itu:
SELECT
DATE_FORMAT(sale_date, '%Y年%m月') AS report_month,
SUM(sales) AS total_sales
FROM sales_data
GROUP BY report_month;
Query ini akan menampilkan total penjualan bulanan dengan format seperti “2024年09月”.
4.2 Skenario 2: Antarmuka Pengguna
Fungsi DATE_FORMAT
juga berguna untuk menampilkan tanggal dengan jelas pada aplikasi web. Contohnya, saat menampilkan tanggal login terakhir pada halaman profil pengguna:
SELECT
user_name,
DATE_FORMAT(last_login, '%Y/%m/%d %H:%i') AS last_login_formatted
FROM users;
Dengan ini, tanggal dan jam login terakhir pengguna akan muncul seperti “2024/09/16 14:35”.
4.3 Skenario 3: Optimasi Query
DATE_FORMAT
juga bisa digunakan saat mengekstrak data pada rentang tanggal tertentu. Misalnya:
SELECT
*
FROM transactions
WHERE DATE_FORMAT(transaction_date, '%Y-%m') = '2024-09';
Query ini akan mengekstrak semua transaksi yang terjadi pada bulan September 2024.
5. Catatan dan Best Practice DATE_FORMAT
5.1 Pertimbangan Performa
Jika Anda sering menggunakan DATE_FORMAT
pada dataset besar, performa query bisa menurun. Untuk data besar, pertimbangkan untuk menyimpan tanggal dalam format yang sudah diformat sebelumnya, atau lakukan formatting di tingkat aplikasi.
5.2 Lokalisasi
Jika membangun sistem multibahasa dengan DATE_FORMAT
, perhatikan masalah lokalisasi. Format tanggal berbeda-beda di setiap negara atau wilayah, jadi pastikan formatnya disesuaikan dengan lokal pengguna.
5.3 Konsistensi Format
Menggunakan format tanggal yang konsisten di seluruh sistem sangat penting untuk pengalaman pengguna yang baik. Pastikan format yang sama digunakan pada form input, tampilan data, maupun laporan.
6. Kesimpulan
Fungsi DATE_FORMAT
adalah alat yang sangat powerful untuk memformat data tanggal di MySQL. Kami telah membahas mulai dari penggunaan dasar, contoh praktis, hingga catatan dan best practice. Dengan memanfaatkan fungsi ini, Anda bisa menampilkan tanggal dengan cara yang lebih mudah dibaca dan digunakan oleh pengguna. Sebagai langkah berikutnya, disarankan untuk mempelajari manipulasi tanggal dan waktu yang lebih lanjut.
7. Sumber Referensi
- Dokumentasi Resmi MySQL: DATE_FORMAT
- Untuk artikel dan tutorial terkait lainnya, pastikan selalu cek dokumentasi resmi dan blog profesional secara berkala karena akan terus diperbarui.
Semoga artikel ini membantu Anda memahami dan memanfaatkan fungsi DATE_FORMAT
dengan lebih baik.