उदाहरण:ऑरैकल 'वाई' और 'आरआर' डेट मास्क के बीच क्या अंतर है?
select ename from emp where hiredate = todate('01/05/81','dd/mm/yy')
और
select ename from emp where hiredate = todate('01/05/81','dd/mm/rr')
वापसी अलग परिणाम
उदाहरण:ऑरैकल 'वाई' और 'आरआर' डेट मास्क के बीच क्या अंतर है?
select ename from emp where hiredate = todate('01/05/81','dd/mm/yy')
और
select ename from emp where hiredate = todate('01/05/81','dd/mm/rr')
वापसी अलग परिणाम
YY आप एक साल के सिर्फ दो अंक, उदाहरण के लिए पुनः प्राप्त करने की अनुमति देता है, 99 1999 में। अन्य अंक (1 9) स्वचालित हैं y वर्तमान शताब्दी को सौंपा गया। आरआर दो अंकों के वर्षों को गोल करके चार अंकों के वर्षों में परिवर्तित करता है।
50-99 को 1 950-1999 के रूप में संग्रहीत किया जाता है, और 00-49 में समाप्त होने वाली तिथियां 2000-2049 के रूप में संग्रहीत की जाती हैं। आरआरआरआर एक चार अंकों के इनपुट को स्वीकार करता है (हालांकि आवश्यक नहीं), और आरआर के रूप में दो अंकों की तारीखों को परिवर्तित करता है। YYYY 4 अंकों आदानों butdoesn't किसी भी परिवर्तित
मूलतः तारीख करते हैं, आपका पहला उदाहरण मान लेंगे कि 81 2081 है तो सबसे पहले उदाहरण के रूप में किसी भी पंक्तियों को वापस नहीं करना चाहिए आप सबसे जबकि आरआर एक मान लिया गया है 1981 के स्वीकार करता है संभवतः मई 1 2081 के बाद किसी भी व्यक्ति को किराए पर नहीं लिया गया :-)
y2k संगतता। rr मान लिया गया 01 2001 होने के लिए, yy मान लिया गया 01 हो 1901
देखें: http://www.oradev.com/oracle_date_format.jsp
संपादित करें: लानत! michael "quickfingers" stumbeat me to it!
/mp
मेरे पिछले ओरेकल अनुभव बहुत पहले
uhm एक सा है, यह था 2000 से पहले? : P
...
हमेशा yy करेंगे 19XX मान?
according to your source, हम निम्न परिदृश्यों मिलती है:
USING
ENTERED
STORED
SELECT of date column
YY
22-FEB-01
22-FEB-1901
22-FEB-01
YYYY
22-FEB-01
22-FEB-0001
22-FEB-0001
RR
22-FEB-01
22-FEB-2001
22-FEB-01
RRRR
22-FEB-01
22-FEB-2001
22-FEB-2001
/mp
आरआर 1990 और yy के बाद मान लिया गया 90 2090 के रूप में के लिए खड़ा है .... के रूप में हम वर्तमान वर्ष में हैं, ...
आरआर 1999 या 2015 (अगर यह < 49 है तो यह 20 वीं सदी पर विचार करेंगे)
आर आर या RRRR बारे में के रूप में चार अंक प्रदर्शित करता है:
जब हम यानी 2 degits साल 09 के साथ तारीखों डालने कर रहे हैं/oct/15
तो ओरेकल सदियों स्वचालित रूप से इसलिए silution 4 अंक dates.But 4 degit संस्करण में पेश किया जाता है में परिवर्तन हो सकता है कुछ rescent संस्करणों, htere इस समस्या पिछले संस्करणों में आर आर या RRRR था के लिए समाधान सामने, लेकिन ध्यान दें कि यह केवलकाम करता है 210 को TO_DATE() फ़ंक्शन के साथ लेकिन TO_CHAR() फ़ंक्शन के साथ नोट करें।
जब तारीखों पर कभी भी सम्मिलित/अपडेट किए जाते हैं, तो हमें हमेशा तारीख अनुवाद के साथ घड़ी में चल रही वर्तमान तिथि को स्पष्ट करना चाहिए क्योंकि ओरेकल सर्वर से संपर्क करके प्रत्येक दिनांक अनुवाद आयोजित करता है।
सदियों के बीच सामंजस्य बनाए रखने के लिए यह 4 डिग्री वर्षों के साथ तिथि अनुवाद निष्पादित करना हमेशा बेहतर होता है।
YY या YYYY के बारे में:
यह दिनांकों को स्वीकार करता है लेकिन does not स्वचालित रूप से इसे बदलने के लिए कार्यक्षमता है।
This Image shows behaviour when inserting date with two degit no i.e. 09/oct/ 15
नहीं ... 'rr' अलग है कि क्या आप (http://docs.oracle.com/cd/E11882_01/server.112/ [सदी की 50 वीं साल पहले] कर रहे हैं पर निर्भर करता है है e26088/sql_elements004.htm # i116004) या नहीं। – Ben