Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle में एक विशिष्ट प्रारूप में टाइमस्टैम्प कैसे सम्मिलित करें

आप किसी विशेष प्रारूप में टाइमस्टैम्प नहीं डालते हैं। टाइमस्टैम्प (और दिनांक) डेटाबेस में एक आंतरिक प्रतिनिधित्व का उपयोग करके संग्रहीत किया जाता है, जो कि प्रकार और सटीकता के आधार पर 7 और 11 बाइट्स के बीच होता है। इस प्रश्न में इसके बारे में और भी बहुत कुछ है , दूसरों के बीच में।

आपका क्लाइंट या एप्लिकेशन यह तय करता है कि मान को मानव-पठनीय स्ट्रिंग फॉर्म में कैसे प्रदर्शित किया जाए।

जब आप करते हैं:

to_timestamp(localtimestamp,'YYYY/MM/DD')

आप परोक्ष रूप से localtimestamp . को रूपांतरित कर रहे हैं एक स्ट्रिंग के लिए, अपने सत्र की NLS सेटिंग्स का उपयोग करके, और फिर इसे वापस टाइमस्टैम्प में परिवर्तित करना। यह संयोग से मूल्य को बदल सकता है - सटीकता खोना - लेकिन यह नहीं बदलेगा कि मूल्य आंतरिक रूप से कैसे संग्रहीत किया जाता है। आपके मामले में NLS सेटिंग और आपके द्वारा आपूर्ति किए जा रहे प्रारूप के बीच बेमेल होने के कारण ORA-01830 त्रुटि हो रही है।

तो आपका पहला सम्मिलन सही है (मान लीजिए कि आप वास्तव में सत्र समय चाहते हैं, सर्वर समय नहीं)। अगर आप देखना चाहते हैं किसी विशेष प्रारूप में संग्रहीत मान या तो अपने क्लाइंट सत्र की एनएलएस सेटिंग्स को बदल दें, या जब आप इसे क्वेरी करते हैं तो इसे स्पष्ट रूप से प्रारूपित करें, जैसे:

select to_char(time, 'YYYY-MM-DD HH24:MI:SS.FF3') from activity_log


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ट्रांजेक्शनस्कोप के अंदर बैच प्रविष्टि करते समय ORA-00604 त्रुटि

  2. ओरेकल पीएल/एसक्यूएल में सीएसवी फाइलों को कुशलतापूर्वक पढ़ें और आयात करें

  3. बल्क रिकॉर्ड प्रविष्टि के दौरान कोई डेटा नहीं मिला या बहुत अधिक पंक्तियाँ अपवाद त्रुटि हुई

  4. ट्रिगर बनाना जो डालने पर अपवाद फेंकता है

  5. ऑरैकल में दिनांक और समय कैसे सम्मिलित करें?