2011-09-24 12 views
28

मुझे अपनी तालिका में एक पंक्ति डालने में परेशानी हो रही है। यहां सम्मिलित कथन और तालिका निर्माण है। यह एक यूनी असाइनमेंट का हिस्सा है इसलिए सादगी, मैं गलत क्या कर रहा हूं? मैं ओरेकल एसक्यूएल डेवलपर संस्करण 3.0.04 का उपयोग कर रहा हूँ। 'ऑरैकल में दिनांक और समय कैसे सम्मिलित करें?

मेरी समस्या यह है कि यह केवल डीडी/mon/yy डालने पर ही समय नहीं है। मैं इसे समय सम्मिलित करने के लिए कैसे प्राप्त करूं?

INSERT INTO WORKON (STAFFNO,CAMPAIGNTITLE,DATETIME,HOURS) 
VALUES ('102','Machanic Summer Savings',TO_DATE('22/April/2011 8:30:00AM','DD/MON/YY HH:MI:SSAM'),'3') 
; 

CREATE TABLE WorkOn 
(
    StaffNo  NCHAR(4), 
    CampaignTitle VARCHAR(50), 
    DateTime  DATE, 
    Hours   VARCHAR(2) 
) 
; 

सहायता के लिए धन्यवाद।

संपादित करें: यह कोई समझ नहीं आता है, मैं परीक्षण करने के लिए सिर्फ एक समय में प्रवेश करता हूं कि समय काम कर रहा है और यह एक तारीख डब्ल्यूटीएफ आउटपुट करता है? यह वास्तव में अजीब मैं एक दिनांक फ़ील्ड उपयोग नहीं कर सकते और बस में समय दर्ज है, मैं जानते हैं कि यह डेटा जोड़ तोड़ मुद्दों में परिणाम होगा, लेकिन यह कोई मतलब नहीं कर रहा है ...

+0

अपनी तालिका परिभाषा भी साझा करें - 'डीईएससी वर्कॉन' –

उत्तर

29

आप एक to_date फ़ंक्शन का उपयोग करके और समय निर्दिष्ट करके सबकुछ सही कर रहे हैं। डेटाबेस में समय है। समस्या यह है कि जब आप डेटाबेस से DATE डेटाटाइप के कॉलम का चयन करते हैं, तो डिफ़ॉल्ट प्रारूप मास्क समय नहीं दिखाता है। यदि आप एक

alter session set nls_date_format = 'dd/MON/yyyy hh24:mi:ss'

या एक समय घटक सहित कुछ इसी तरह जारी हैं, तो आप उस समय सफलतापूर्वक डेटाबेस में इसे बनाया देखेंगे।

सम्मान,
रोब।

+0

ओमजी धन्यवाद, केवल एक आखिरी मुद्दा, यह सभी दिनांक स्वरूपित कॉलम के लिए प्रारूप सेट करता है जिसके परिणामस्वरूप कॉलम के लिए समय दिखता है जहां मुझे केवल तारीख दिखाना चाहिए। क्या यह किसी विशेष तालिका के लिए निर्दिष्ट करना संभव है? – Deep

+1

तो आपको अपने चयन कथन में दिनांक प्रारूप मास्क निर्दिष्ट करना होगा। कुछ "जैसे to_char (डेटाटाइम, 'dd-mm-yyyy hh24: mi: ss') workon से डेटाटाइम का चयन करें"। –

+0

यह 'परिवर्तन सत्र' कमांड एक देवता है (मैं एक पूर्ण ओरेकल newb हूँ)। धन्यवाद रोब। –

4

इस प्रयास करें:

.. (to_date('2011/04/22 08:30:00', 'yyyy/mm/dd hh24:mi:ss'));

+0

कोई खेद नहीं है, यह केवल तारीख दिखा रहा है। – Deep

+0

क्षमा करें, मेरे पास एक टाइपो था- कृपया पुनः प्रयास करें। – jschorr

+0

नमस्ते यह अभी भी काम नहीं करता है, यह केवल दिनांक भाग को सम्मिलित करता है और समय को अनदेखा करता है। अगर मैं सिर्फ एक समय में प्रवेश करता हूं तो यह सिर्फ एक तारीख में परिवर्तित हो जाता है ... MySQL मुझे ऑरैकल से अधिक समझ में आता है ... – Deep

29

आप उपयोग कर सकते हैं

insert into table_name 
(date_field) 
values 
(TO_DATE('2003/05/03 21:02:44', 'yyyy/mm/dd hh24:mi:ss')); 

आशा है कि यह मदद करता है।

संबंधित मुद्दे