Bagaimana cara mensubstruksikan tanggal di oracle db? [duplikat]
Jan 23 2021
Saya ingin substruktur 2 tanggal (tanggal saat ini dan tanggal_penata rambut) untuk mendapatkan hasil dari tabel untuk mewakili data selama 2 tahun terakhir. Saya memiliki pernyataan SELECT berikut:
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND (Sysdate - r.hairdressing_date) / 365 < 2;
Ini kustom, tetapi saya tidak yakin tentang bagian '/ 365' dari kode.
Bagaimana cara mendapatkan data yang dibutuhkan dengan benar? Bisakah Anda menulis implementasi yang benar dari baris ini?
Jawaban
2 ThomasKirchhoff Jan 23 2021 at 03:05
Silakan gunakan MONTHS_BETWEEN()
fungsi seperti ini:
SELECT MONTHS_BETWEEN(TRUNC(SYSDATE), TO_DATE('22.01.2019', 'DD.MM.YYYY'))/12
FROM DUAL;
dan kembali ke yang ini dengan mempertimbangkan kasus Anda:
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND MONTHS_BETWEEN(TRUNC(SYSDATE), hairdressing_date)/12 < 2;
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'