Masalah:
Anda ingin menampilkan tanggal kemarin (tanpa waktu) dalam database Oracle.
Solusi 1:
SELECT TO_DATE(current_date - 1) AS yesterday_date FROM dual
Dengan asumsi hari ini adalah 24-09-2020, hasilnya adalah:
kemarin_date |
---|
23-09-2020 |
Diskusi:
Untuk mendapatkan tanggal kemarin, Anda perlu mengurangi satu hari dari hari ini. Gunakan current_date
untuk mendapatkan tanggal hari ini. Di Oracle, Anda dapat mengurangi jumlah hari apa pun hanya dengan mengurangi angka itu dari tanggal saat ini. Di sini, karena Anda perlu mengurangi satu hari, Anda menggunakan current_date - 1
. Kemudian Anda menggunakan TO_DATE()
berfungsi untuk memberikan hasil ke jenis kolom date
.
Anda dapat kembali beberapa hari yang Anda inginkan dengan sangat mudah, misalnya tujuh hari.
SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual
Anda juga dapat menghitung tanggal di masa mendatang. Misalnya, untuk mendapatkan tanggal besok, tambahkan satu ke current_date
:
SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual