ओरेकल डीबी में तारीखों को कैसे निकालना है? [डुप्लिकेट]

Jan 23 2021

मैं पिछले 2 वर्षों के दौरान डेटा का प्रतिनिधित्व करने के लिए तालिका से परिणाम प्राप्त करने के लिए 2 तिथियों (वर्तमान तिथि और हेयरड्रेसिंग_डेट) को तोड़ना चाहता हूं। मेरे पास सेलेक्ट स्टेटमेंट है:

SELECT count(c_id) 
  INTO counter 
  FROM RESERVATIONS r
 WHERE r.customer_id = 1 
   AND (Sysdate - r.hairdressing_date) / 365 < 2;

यह कस्टम है, लेकिन मैं '/ 365' कोड के बारे में निश्चित नहीं हूं।

आवश्यक डेटा को सही तरीके से कैसे प्राप्त करें? क्या आप इस पंक्ति का सही कार्यान्वयन लिख सकते हैं?

जवाब

2 ThomasKirchhoff Jan 23 2021 at 03:05

कृपया MONTHS_BETWEEN()इस तरह फ़ंक्शन का उपयोग करें:

SELECT MONTHS_BETWEEN(TRUNC(SYSDATE), TO_DATE('22.01.2019', 'DD.MM.YYYY'))/12 
  FROM DUAL;

और अपने मामले पर विचार करते हुए इस पर वापस जाएं:

SELECT count(c_id) 
  INTO counter 
  FROM RESERVATIONS r     
 WHERE r.customer_id = 1 
   AND MONTHS_BETWEEN(TRUNC(SYSDATE), hairdressing_date)/12 < 2;