目次
1. Ringkasan Fungsi NOW MySQL
Fungsi NOW MySQL digunakan untuk dengan mudah mendapatkan tanggal dan waktu saat ini di dalam basis data. Dengan memanfaatkan fungsi NOW, Anda dapat memperoleh informasi waktu yang berguna untuk timestamp saat memasukkan data serta pencatatan log. Meskipun sederhana, ini adalah alat yang sangat kuat dan banyak digunakan.Format Dasar Fungsi NOW
Format fungsi NOW sangat sederhana. Dengan kueri berikut, Anda dapat memperoleh tanggal dan waktu saat ini.SELECT NOW();
Hasil eksekusi dikembalikan dalam format YYYY-MM-DD HH:MM:SS
. Misalnya, jika tanggal 24 Oktober 2024 pukul 16:30, hasilnya akan seperti berikut.2024-10-24 16:30:00
Selain itu, fungsi NOW mengembalikan tanggal dan waktu saat ini berdasarkan zona waktu basis data. Hal ini memungkinkan manajemen waktu yang konsisten di seluruh sistem.Penggunaan Fungsi NOW
Fungsi NOW sangat berguna dalam situasi berikut.- Catatan Log: Mencatat secara otomatis waktu perubahan data dan waktu penyisipan.
- Timestamp: Digunakan untuk mencatat waktu aksi pengguna.
- Filter Berdasarkan Waktu: Saat mengekstrak data yang terjadi dalam periode tertentu.

2. Contoh Penggunaan Dasar Fungsi NOW
Mari kita lihat contoh penggunaan dasar untuk mendapatkan tanggal dan waktu saat ini dengan menggunakan fungsi NOW.SELECT NOW();
Kueri ini mengembalikan tanggal dan waktu saat ini. Selain dapat diambil dalam format string, juga dapat diambil dalam format numerik. Dengan menggunakan kueri berikut, tanggal dan waktu saat ini akan dikembalikan dalam format numerik (YYYYMMDDHHMMSS
).SELECT NOW() + 0;
Sebagai contoh, hasilnya akan menjadi seperti “20241024163000”, yang berguna ketika menangani dalam format numerik.Menentukan Presisi Subdetik
Fungsi NOW memungkinkan Anda menentukan presisi subdetik. Presisi dapat ditentukan melalui argumen seperti berikut.SELECT NOW(3);
Kueri ini mengembalikan hasil dengan presisi tiga digit di belakang koma. Misalnya dalam bentuk “2024-10-24 16:30:00.123”. Ini merupakan fitur yang sangat berguna untuk sistem yang memerlukan presisi hingga detik.3. Perbedaan SYSDATE() dan NOW()
Fungsi NOW memiliki fungsi serupa yang disebut SYSDATE(), namun keduanya beroperasi sedikit berbeda.- NOW(): Mengambil waktu saat query dijalankan, dan waktu yang sama dipertahankan untuk seluruh pernyataan. Bahkan jika transaksi berlangsung lama, hasil yang sama akan dikembalikan.
- SYSDATE(): Mengambil waktu pada setiap langkah query. Artinya, bahkan selama transaksi yang berlangsung lama, waktu real-time akan diambil.
Contoh perbedaan dalam query
Berikut adalah contoh query yang menunjukkan perbedaan perilaku SYSDATE() dan NOW().SELECT NOW(), SYSDATE();
Hasilnya akan seperti berikut.NOW(): 2024-10-24 16:30:00
SYSDATE(): 2024-10-24 16:30:01
Selisih waktu pada saat query dijalankan tercermin pada SYSDATE(), sementara NOW() mempertahankan waktu mulai eksekusi query. Dengan demikian, meskipun keduanya beroperasi sedikit berbeda, penting untuk memilih fungsi yang paling tepat sesuai dengan cara penggunaannya.4. Contoh Penggunaan Fungsi NOW
Fungsi NOW sangat berguna dalam skenario tertentu. Misalnya, jika Anda ingin secara otomatis mencatat tanggal dan waktu saat data dimasukkan, gunakan fungsi NOW seperti berikut.INSERT INTO users (username, created_at)
VALUES ('example_user', NOW());
Dengan cara ini, saat rekaman dimasukkan, waktu saat ini secara otomatis dicatat ke kolom created_at
. Fitur ini sangat berguna untuk pencatatan log dan pelacakan peristiwa. Selain itu, untuk mengekstrak data yang dibuat dalam 7 hari terakhir, Anda dapat memanfaatkan fungsi NOW seperti berikut.SELECT * FROM orders
WHERE order_date >= NOW() - INTERVAL 7 DAY;
Query ini mengambil semua rekaman yang dibuat dalam 7 hari terakhir dari tanggal dan waktu saat ini. Fungsi NOW sangat efektif untuk mengekstrak data yang bergantung pada waktu.5. Catatan tentang fungsi NOW
Saat menggunakan fungsi NOW, ada beberapa hal yang perlu diperhatikan. Khususnya, karena dapat memengaruhi konsistensi transaksi, penting untuk memperhatikan konteks penggunaannya.- Perilaku dalam transaksi: Fungsi NOW mengembalikan hasil yang konsisten dalam transaksi, sehingga waktu yang sama dikembalikan bahkan selama proses yang lama. Ini penting untuk menjaga konsistensi data. Namun, jika diperlukan waktu real-time, lebih baik menggunakan SYSDATE().