Masalah:
Anda ingin menampilkan tanggal kemarin (tanpa waktu) dalam database SQL Server.
Solusi:
SELECT DATEADD(day, -1, CAST(GETDATE() AS date)) AS YesterdayDate;
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 tanggal hari ini. Gunakan GETDATE()
untuk mendapatkan tanggal hari ini (tipenya adalah datetime
) dan masukkan ke date
. Di SQL Server, Anda dapat mengurangi atau menambah jumlah hari menggunakan DATEADD()
fungsi.
DATEADD()
fungsi membutuhkan tiga argumen:datepart
, number
, dan date
. Di sini, nilai datepart
adalah day
, karena satuan waktu yang ingin Anda kurangi adalah hari. Argumen kedua adalah -1 (Anda mengurangi 1 hari, yang sama dengan menambahkan -1 hari). Argumen ketiga adalah tanggal hari ini—tanggal yang ingin Anda kurangi.
Tentu saja, Anda dapat kembali dengan interval waktu apa pun dengan mudah. Ini contohnya:
SELECT DATEADD(month, -5, CAST(GETDATE() AS date));
Interval waktu juga dapat added
untuk kencan. Nah, ini dia caranya kalau mau kencan besok:
SELECT DATEADD(day, 1, CAST(GETDATE() AS date)) AS TomorrowDate;