2011-09-30 11 views
6

में VARCHAR2 को TIMESTAMP में कनवर्ट करें मेरे पास '14 -SEP-11 12.33.48.537150 AM 'प्रारूप में VARCHAR2 मान है और मुझे इसे TIMESTAMP में कनवर्ट करने की आवश्यकता है। यही कारण है कि जैसेओरेकल

SELECT TO_DATE('14-SEP-11 12.33.48.537150 AM', '<format_string>') FROM DUAL; 

मैं ऊपर क्वेरी से वापसी '14 -SEP -11 12.33.48.537150 TIMESTAMP डेटा स्वरूप में AM 'बनना चाहते हैं।

इसके लिए 'format_string' क्या होना चाहिए।

कृपया मदद के बाद से मैं बहुत सी बातें करने की कोशिश की, लेकिन कोई भी काम करता है .. :(

मैं Oracle 11gR2 उपयोग कर रहा हूँ।

धन्यवाद।

उत्तर

9

, DATE और टाइमस्टैम्प दो अलग datatypes हैं। तो अगर आप की जरूरत है प्रत्येक के लिए सही रूपांतरण समारोह है, जो अपने मामले में TO_TIMESTAMP() होगा का उपयोग करें।

SELECT TO_TIMESTAMP('14-SEP-11 12.33.48.537150 AM', 'DD-MON-RR HH:MI:SS.FF AM') 
FROM DUAL; 
+1

अगर हम एचएच 24 निर्दिष्ट करते हैं तो यह एक त्रुटि देता है। इसे एचएच होना है क्योंकि मुझे इसे एएम/पीएम के रूप में चाहिए। वैसे भी धन्यवाद यह एचएच के साथ काम किया। –

+0

@ बाथीयाप्रियादर्शन - ओह, आदत का बल: मैं हमेशा चौबीस घंटे की घड़ी के साथ काम करता हूं। – APC

1
select from_tz(to_timestamp('14-SEP-11 12.33.48.537150 PM', 'DD-Mon-RR HH.MI.SS.FF AM'), 'EUROPE/LONDON') from dual