to_date() आपके स्ट्रिंग पैरामीटर को लेता है, दूसरे पैरामीटर में आपके द्वारा प्रदान किए गए प्रारूप से मेल खाता है, और इससे एक दिनांक फ़ील्ड बनाता है। दिनांक फ़ील्ड दूसरे पैरामीटर में आपके द्वारा प्रदान किए गए प्रारूप का उपयोग नहीं कर रहा है - वास्तव में इसे कुछ आंतरिक डेटा प्रतिनिधित्व का उपयोग करके संग्रहीत किया जाएगा जिसका कोई प्रारूप नहीं है (एक संख्या, सभी संभावना में)।
किसी दिनांक फ़ील्ड से परिणामों में एक प्रारूप को वापस प्रस्तुत करने के लिए, आप या तो कर सकते हैं:
- क्वायरी निष्पादित करने वाले क्लाइंट ने स्थानीय प्रारूप प्रदान करने के लिए एनएलएस पैरामीटर (सत्र स्तर पर) सेट किया है, एक
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD';
के साथ स्टेटमेंट), या to_char(..., 'YYYY-MM-DD')
का इस्तेमाल करें अपने मौजूदा क्षेत्र के आसपास तारीख को वापस एक स्ट्रिंग में बदलने के लिए जिस तरह से आप इसे प्राप्त करना चाहते हैं। जहां आप...
. को प्रतिस्थापित करते हैं चयन में अपनी वर्तमान कॉलम परिभाषा के साथ।
दृष्टिकोण # 1 पहले से ही हो रहा है, क्योंकि पहले से ही एक NLS_DATE_FORMAT सेट होगा जो वर्तमान प्रारूप का निर्माण कर रहा है, लेकिन यह एक ऐसे प्रारूप के साथ है जिसे आप नहीं चाहते हैं, इसलिए यदि आप इसे नियंत्रित कर सकते हैं और इसे वहां बदल सकते हैं, तो आप ऐसा कर सकते हैं मार्ग। यदि आप ऐसा नहीं कर सकते हैं और आपके पास प्रारूप को एक समान अन्य तरीके से होना चाहिए, तो #2 जाने का रास्ता हो सकता है।