Halo teman-teman semuanya, di seri kelima belas ini kita akan membahas tentang fungsi-fungsi tanggal dan waktu dalam SQL. Fungsi ini sangat penting ketika kita bekerja dengan data yang berkaitan dengan tanggal lahir, waktu transaksi, log aktivitas, dan sebagainya. Dengan memahami fungsi ini, kita bisa melakukan berbagai manipulasi data waktu dengan mudah.
Contoh Tabel
Sebagai contoh, kita akan menggunakan tabel transaksi
berikut:
id |
nama_pelanggan |
total |
tanggal_transaksi |
1 |
Ali |
50000 |
2024-12-01 10:30:00 |
2 |
Budi |
75000 |
2024-12-05 14:45:00 |
3 |
Citra |
30000 |
2024-12-10 09:15:00 |
4 |
Dewi |
120000 |
2025-01-02 11:00:00 |
1. NOW() – Waktu Saat Ini
Menampilkan tanggal dan waktu saat ini.
SELECT NOW() AS waktu_sekarang;
Hasil:
waktu_sekarang |
2025-07-10 10:11:00 |
2. CURDATE() & CURTIME()
CURDATE()
→ hanya tanggal sekarang
CURTIME()
→ hanya waktu sekarang
SELECT CURDATE() AS tanggal_hari_ini, CURTIME() AS jam_sekarang;
3. DATE() – Mengambil Hanya Tanggal
SELECT DATE(tanggal_transaksi) AS tanggal
FROM transaksi;
Hasil:
tanggal |
2024-12-01 |
2024-12-05 |
4. YEAR(), MONTH(), DAY()
Digunakan untuk mengambil bagian tertentu dari tanggal.
SELECT nama_pelanggan,
YEAR(tanggal_transaksi) AS tahun,
MONTH(tanggal_transaksi) AS bulan,
DAY(tanggal_transaksi) AS tanggal
FROM transaksi;
5. DATE_FORMAT() – Format Tanggal Kustom
Mengubah tampilan tanggal sesuai format yang kita inginkan.
SELECT nama_pelanggan,
DATE_FORMAT(tanggal_transaksi, '%d-%m-%Y %H:%i') AS waktu_transaksi
FROM transaksi;
Hasil:
nama_pelanggan |
waktu_transaksi |
Ali |
01-12-2024 10:30 |
Budi |
05-12-2024 14:45 |
6. DATEDIFF() – Selisih Hari
Menghitung selisih hari antara dua tanggal.
SELECT nama_pelanggan,
DATEDIFF(NOW(), tanggal_transaksi) AS selisih_hari
FROM transaksi;
7. TIMESTAMPDIFF() – Selisih Tahun, Bulan, Hari
Contoh: Hitung berapa bulan sejak transaksi dilakukan.
SELECT nama_pelanggan,
TIMESTAMPDIFF(MONTH, tanggal_transaksi, NOW()) AS bulan_berlalu
FROM transaksi;
8. ADDDATE(), SUBDATE() – Menambahkan atau Mengurangi Tanggal
-- Tambah 7 hari
SELECT ADDDATE('2025-07-10', INTERVAL 7 DAY) AS tambah_7_hari;
-- Kurangi 1 bulan
SELECT SUBDATE('2025-07-10', INTERVAL 1 MONTH) AS kurang_1_bulan;
Kesimpulan
Pada artikel ini, kita sudah belajar berbagai fungsi bawaan SQL untuk bekerja dengan tanggal dan waktu. Fungsi-fungsi ini sangat berguna ketika kita ingin:
- Menampilkan tanggal atau jam saat ini
- Menghitung selisih waktu
- Menyesuaikan format tampilan tanggal
- Menambah atau mengurangi tanggal tertentu
Di artikel berikutnya, kita akan membahas tentang VIEW — cara menyimpan query sebagai “tabel virtual” agar bisa dipakai ulang seperti tabel biasa.
Terima Kasih