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
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
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'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'