मैं बताना चाहता हूं कि आपको अलग-अलग परिणाम क्यों मिलते हैं।
यह sqlfiddle देखें
जैसा कि पहले ही कहा जा चुका है, sysdate को DATE
. के रूप में देखा जाता है टाइप करें और आप एक अंतर्निहित रूपांतरण कर रहे हैं जब
select to_date(sysdate, format) from dual;
क्योंकि to_date का पहला पैरामीटर वर्चर प्रकार होना चाहिए जो सिस्टम करता है:
select to_date(to_char(sysdate), format) from dual;
क्योंकि आपका निहित दिनांक प्रारूप 'DD-MON-YY'
. है , आपकी क्वेरी इसमें जाती है:
SELECT TO_CHAR(to_date('01-JAN-13', 'DD-MON-yy'), 'DAY'),
TO_CHAR(to_date('01-JAN-13', 'DD-MON-yyyy'), 'DAY'),
TO_CHAR(to_date('01-JAN-13', 'DD-MON-rr'), 'DAY'),
TO_CHAR(to_date('01-JAN-13', 'DD-MON-rrrr'), 'DAY')
FROM dual;
दूसरा टू_डेट, क्योंकि yyyy
एक पूर्ण हज़ार साल का प्रारूप है, '01-जनवरी-0013' पर जाता है जो कि 13AD है और शायद रविवार है :)