1. Sebelum Belajar Format Tanggal di MySQL: Pengetahuan Dasar
Manajemen data tanggal dalam basis data memainkan peran penting di setiap sistem. Dalam MySQL, penyimpanan data yang akurat dan format yang tepat sangatlah penting. Di sini, kita akan membahas pengetahuan dasar tentang format penyimpanan dan tampilan tanggal, serta menjelaskan fungsi DATE_FORMAT yang berguna untuk memformat data.
1.1 Tipe Data Tanggal di MySQL dan Karakteristiknya
MySQL menyediakan beberapa tipe data untuk menangani tanggal dan waktu. Dengan memahami kegunaan masing-masing tipe, Anda dapat memilih tipe yang paling tepat dan mengoptimalkan performa basis data.
- Tipe DATE
Menyimpan tanggal dalam format “YYYY-MM-DD”. Cocok untuk data tanggal sederhana tanpa jam, seperti tanggal lahir atau tanggal acara. Contoh:2024-10-19
- Tipe DATETIME
Menyimpan tanggal dan waktu. Formatnya adalah “YYYY-MM-DD HH:MM:SS”. Berguna untuk data yang mencatat waktu, seperti log atau riwayat. Contoh:2024-10-19 15:30:45
- Tipe TIMESTAMP
Menyimpan data dalam bentuk UNIX timestamp (jumlah detik sejak 1 Januari 1970). Sering digunakan dalam sistem lintas zona waktu. Dapat menggunakanCURRENT_TIMESTAMP
untuk mendapatkan timestamp saat ini.
Pemilihan tipe tanggal harus dilakukan dengan hati-hati sesuai kebutuhan aplikasi. Dengan demikian, akurasi data dan efisiensi query akan meningkat.
1.2 Perbedaan Penyimpanan dan Tampilan Tanggal
Saat menyimpan tanggal di MySQL, basis data akan menggunakan format standar. Namun, sering kali diperlukan tampilan dalam format yang lebih mudah dibaca oleh pengguna. Untuk tujuan ini digunakan fungsi DATE_FORMAT. Dengan fungsi ini, data yang tersimpan dapat ditampilkan dalam format yang disesuaikan.
Pada bagian berikut, kita akan melihat cara penggunaan DATE_FORMAT dan contoh penerapannya.

2. Dasar Penggunaan Fungsi DATE_FORMAT
DATE_FORMAT digunakan untuk memformat tanggal yang tersimpan ke dalam format tertentu. Dengan menggunakan format specifier, Anda dapat menyesuaikan tampilan tanggal sesuai kebutuhan.
2.1 Sintaks DATE_FORMAT
DATE_FORMAT(date, format)
date
: Data tanggal yang ingin diformat (DATE, DATETIME, TIMESTAMP, dll).format
: String yang menentukan format keluaran, menggunakan specifier dengan tanda%
.
Contoh query berikut mengubah tanggal menjadi format “YYYY/MM/DD”.
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
Hasil:
2024/10/19
2.2 Detail Format Specifier
DATE_FORMAT mendukung berbagai specifier untuk memformat tanggal dan waktu. Berikut adalah beberapa yang umum digunakan:
%Y
: Tahun 4 digit (contoh: 2024)%m
: Bulan 2 digit (01–12)%d
: Hari 2 digit (01–31)%W
: Nama hari (contoh: Saturday)%H
: Jam dalam format 24 jam (00–23)%i
: Menit (00–59)%s
: Detik (00–59)
Contoh query berikut menampilkan hari, tahun, bulan, dan tanggal:
SELECT DATE_FORMAT('2024-10-19', '%W, %Y-%m-%d');
Hasil:
Saturday, 2024-10-19
2.3 Output dengan Format Bahasa Jepang
DATE_FORMAT juga dapat digunakan untuk menampilkan tanggal dengan format bahasa Jepang. Contoh berikut menghasilkan format “YYYY年MM月DD日”.
SELECT DATE_FORMAT('2024-10-19', '%Y年%m月%d日');
Hasil:
2024年10月19日
Format ini umum dipakai pada laporan, faktur, atau dokumen di Jepang.
3. Teknik Lanjutan dengan DATE_FORMAT
DATE_FORMAT dapat digabungkan dengan fungsi lain di MySQL untuk manipulasi tanggal yang lebih kompleks.
3.1 Kombinasi dengan Fungsi Tanggal Lain
DATE_FORMAT bisa digunakan bersama fungsi seperti DATE_ADD atau DATE_SUB untuk manipulasi tanggal dinamis.
Contoh: Menambahkan 1 bulan lalu memformat
SELECT DATE_FORMAT(DATE_ADD('2024-10-19', INTERVAL 1 MONTH), '%Y-%m-%d');
Hasil:
2024-11-19
3.2 Integrasi dengan STR_TO_DATE
STR_TO_DATE digunakan untuk mengubah string menjadi tipe tanggal. Jika digabung dengan DATE_FORMAT, string dapat diolah sebagai data tanggal yang valid.
Contoh: Konversi string lalu format
SELECT DATE_FORMAT(STR_TO_DATE('2024年10月19日', '%Y年%c月%e日'), '%Y/%m/%d');
Hasil:
2024/10/19

4. Contoh Format Tanggal yang Umum Dipakai
Berikut adalah beberapa format tanggal yang sering digunakan dalam bisnis atau sistem.
4.1 Format dengan Garis Miring
SELECT DATE_FORMAT('2024-10-19', '%Y/%m/%d');
Hasil:
2024/10/19
4.2 Format ISO 8601
SELECT DATE_FORMAT('2024-10-19', '%Y-%m-%d');
Hasil:
2024-10-19
ISO 8601 adalah standar internasional, cocok untuk pertukaran data antar sistem.
4.3 Menampilkan Nama Bulan dan Hari
SELECT DATE_FORMAT('2024-10-19', '%M %W');
Hasil:
October Saturday
5. Kesimpulan
DATE_FORMAT adalah alat yang kuat untuk memanipulasi tampilan tanggal di MySQL. Dari format dasar hingga penggunaan lanjutan bersama fungsi lain, fitur ini sangat berguna untuk berbagai kebutuhan.
Dengan menggabungkannya dengan fungsi seperti STR_TO_DATE atau DATE_ADD, Anda bisa melakukan manipulasi data yang lebih fleksibel. Gunakan teknik ini untuk mengoptimalkan pemrosesan data di aplikasi atau sistem Anda.
Manfaatkan kemampuan MySQL sepenuhnya untuk meningkatkan efisiensi pengelolaan data dan mendukung pengembangan sistem yang lebih profesional.