यह देखने का प्रयास करते समय कि Oracle क्या करने वाला है, Oracle के दस्तावेज़ीकरण , "जूलियन डे नंबर 1 जनवरी, 4712 ई.पू. से दिनों की संख्या है।"
यह शब्दांकन यह दर्शाता है कि जूलियन 1 जनवरी 1, 4712 ईसा पूर्व से एक दिन होगा, दूसरे शब्दों में 2 जनवरी। हालांकि जूलियन तिथि गणना का वर्तमान कार्यान्वयन लंबे समय से है, व्यवहार के आधार पर मौजूदा कोड के साथ। . (मुझे पता है कि अगर ओरेकल में लागू जूलियन की परिभाषा बदल जाती है तो हम खराब हो जाएंगे।) इस बिंदु पर यह 31 दिसंबर, 4713 ईसा पूर्व के दिनों के लिए एक दस्तावेज बग होगा।
संपादित करें एक संदर्भ मिला जूलियन 1 के लिए 1 जनवरी, कॉल इंटरफ़ेस प्रोग्रामर गाइड<में /ए> . कहीं सामान्य डेटाबेस प्रोग्रामर कभी नहीं देखेंगे।
निम्नलिखित विकिपीडिया और Oracle के बीच वर्ष के अंतर की व्याख्या करता है:
केस 3 मेरे लिए खबर है। इसे ऊपर लाने के लिए धन्यवाद। मुझे उस व्यवहार को कवर करने वाले किसी भी संदर्भ की जानकारी नहीं है। संबंधित:
SQL> select to_date('0001-01-01', 'YYYY-MM-DD')
- to_date ('-0001-12-31', 'SYYYY-MM-DD') from dual;
TO_DATE('0001-01-01','YYYY-MM-DD')-TO_DATE('-0001-12-31','SYYYY-MM-DD')
-----------------------------------------------------------------------
367
और
SQL> select months_between(to_date('0001-01-01', 'YYYY-MM-DD')
2 , to_date ('-0001-12-31', 'SYYYY-MM-DD')) from dual;
MONTHS_BETWEEN(TO_DATE('0001-01-01','YYYY-MM-DD'),TO_DATE('-0001-12-31','SYYYY-MM-DD'))
---------------------------------------------------------------------------------------
12.0322581
जाहिरा तौर पर अस्तित्वहीन वर्ष 0 एक लीप वर्ष है।