ओरेकल डेट और टाइमस्टैम्प के बीच अंतर


92

Oracle DATE और TIMESTAMP प्रकार में क्या अंतर हैं? दोनों की तारीख और समय घटक है? इन तारीखों के लिए भी जावा में संबंधित प्रकार क्या है?


3
TIMESTAMPयह वैसा ही है DATE, सिवाय इसके कि इसमें भिन्नात्मक सेकंड सटीक जोड़ा गया है।
NullUserException

5
सबसे बड़ा अंतर: DATEदूसरे के लिए सटीक है और आंशिक सेकंड नहीं है। TIMESTAMPआंशिक सेकंड है। सेकंड में दशमलव स्थानों की संख्या सर्वर ओएस पर निर्भर करती है, उदाहरण के लिए मेरी विंडोज 7 मशीन पर ओरेकल टाइमस्टैम्प के लिए तीन दशमलव स्थान देता है जबकि एक ग्राहक का विशाल सोलारिस बॉक्स छह देता है। टाइमस्टैम्प एक विशिष्ट समय क्षेत्र भी पकड़ सकता है या सामान्य समय क्षेत्र के लिए सामान्यीकृत किया जा सकता है - यहाँ जाएँ और फिर अधिक जानकारी के लिए "TIMESTAMP" खोजें, फिर थोड़ा प्रयोग करें
एड गिब्स

जवाबों:


98

DATE और TIMESTAMP का आकार समान है (7 बाइट्स)। उन बाइट्स का उपयोग सदी, दशक, वर्ष, महीना, दिन, घंटा, मिनट और सेकंड स्टोर करने के लिए किया जाता है। लेकिन TIMESTAMP फ्रैक्शनल सेकंड्स (11 बाइट्स) और फ्रैक्शनल सेकंड्स जैसे टाइमज़ोन (13 बाइट्स) के रूप में अतिरिक्त जानकारी स्टोर करने की अनुमति देता है।

TIMESTAMP को एक ANSI अनुपालन के रूप में Oracle में जोड़ा गया था। इससे पहले, यह केवल दिनांक था।

सामान्य मामलों में आपको DATE का उपयोग करना चाहिए। लेकिन अगर समय की सटीकता एक आवश्यकता है, तो TIMESTAMP का उपयोग करें।

जावा के बारे में, Oracle JDBC ड्राइवर से oracle.sql.DATE क्लास के बारे में Oracle दिनांक / टाइमस्टैम्प डेटा प्रकार और Java क्लासेस java.sql.Date, java.sql.Time और java.sql.Timestamp के बीच रूपांतरण प्रदान करता है।


1
चेतावनी का एक शब्द: दुर्भाग्य से ऐसा प्रतीत होता है कि, जब आप Oracle में एक DATE कॉलम को क्वेरी करते हैं, तो यह आपको केवल "दिन" लौटाता है, लेकिन यदि आप इसे TO_TIMESTAMP (DATE_COLUMN_NAME) की तरह डालते हैं, तो यह आपको अधिक सटीक बनाता है। जो किसी भी तरह jdbc / hibernate के साथ डिफ़ॉल्ट नहीं है, कम से कम यह यहाँ नहीं है।
रोज़गारपैक

6
"सामान्य मामलों में आपको DATE का उपयोग करना चाहिए" - लेकिन क्यों, बिल्कुल?
सिल्हड

4
आपको उपयोग करना चाहिए TIMESTAMP WITH TIME ZONE। अन्यथा दिन के उजाले की बचत समय अस्पष्ट समय का परिचय देगा।
किमीकप्लैन

15
मुझे यह वास्तव में भ्रामक लगता है, कि DATE प्रकार में TIME जानकारी है। यही शब्द का अर्थ नहीं है।
डैडी 32

2
@ डैडी 32 TIMESTAMPको लगभग 20 साल बाद जोड़ा गया था DATE। वे वास्तव में वापस नहीं जा सकते और बदल सकते हैं DATE
विलियम रॉबर्टसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.