DATE
Oracle में एक अंतर्निहित प्रकार है, जिसे एक निश्चित तरीके से दर्शाया जाता है और इस पर आपका कोई नियंत्रण नहीं होता है।
तो:
<ब्लॉकक्वॉट>मैं इसे सम्मिलित करना चाहता हूं [...] 08/01/2011 12:00:00 पूर्वाह्न के रूप में
उपरोक्त बेमानी है। आप एक स्ट्रिंग नहीं डालते हैं, आप एक तारीख डालते हैं।
प्रारूप तभी उपयोगी होता है जब आप चाहते हैं:
- एक स्ट्रिंग को
TO_DATE
के साथ दिनांक के आंतरिक प्रतिनिधित्व में बदलने के लिए (फॉर्मेट मास्क:स्ट्रिंग को पार्स कैसे करें); - तिथि के आंतरिक प्रतिनिधित्व को
TO_CHAR
. के साथ एक स्ट्रिंग में बदलने के लिए (प्रारूप मुखौटा:तिथि कैसे प्रस्तुत करें)।
तो मूल रूप से, आपके उदाहरण में आप एक DATE लेते हैं, आप इसे किसी प्रारूप के साथ एक STRING में परिवर्तित करते हैं, और इसे उसी प्रारूप के साथ वापस DATE में परिवर्तित करते हैं। यह एक नो-ऑप है।
अब, आपका क्लाइंट क्या प्रदर्शित करता है:ऐसा इसलिए है क्योंकि आपका Oracle क्लाइंट सीधे DATE फ़ील्ड प्रदर्शित नहीं करेगा और NLS परत किसी भी चयनित DATE फ़ील्ड को रूपांतरित कर देगी। तो यह डिफ़ॉल्ट रूप से आपके लोकेल पर निर्भर करता है।
आप जो चाहते हैं वह है SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY') FROM dual;
जो स्पष्ट रूप से रूपांतरण करेगा और एक स्ट्रिंग लौटाएगा।
और जब आप किसी डेटाबेस में दिनांक सम्मिलित करना चाहते हैं, तो आप TO_DATE
. का उपयोग कर सकते हैं या दिनांक शाब्दिक।