Oracle db'de tarihler nasıl alt yapıya alınır? [çiftleme]
Son 2 yıldaki verileri temsil etmek için tablodan sonuç almak için 2 tarih (geçerli tarih ve kuaför_tarihi) alt yapı oluşturmak istiyorum. Aşağıdaki SELECT deyimim var:
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND (Sysdate - r.hairdressing_date) / 365 < 2;
Bu özeldir, ancak kodun '/ 365' kısmından emin değilim.
Gerekli veriler nasıl doğru bir şekilde alınır? Bu satırın doğru uygulamasını yazabilir misiniz?
Yanıtlar
2 ThomasKirchhoff
Lütfen şu şekilde bir MONTHS_BETWEEN()
işlev kullanın :
SELECT MONTHS_BETWEEN(TRUNC(SYSDATE), TO_DATE('22.01.2019', 'DD.MM.YYYY'))/12
FROM DUAL;
ve durumunuzu göz önünde bulundurarak buna geri dönün:
SELECT count(c_id)
INTO counter
FROM RESERVATIONS r
WHERE r.customer_id = 1
AND MONTHS_BETWEEN(TRUNC(SYSDATE), hairdressing_date)/12 < 2;
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı