2013-05-02 6 views
5

में मैं से स्ट्रिंग परिवर्तित करने के लिए 'एम एम/DD/YYYY' प्रारूप में दिनांक को varchar की जरूरत है। मेरी इनपुट स्ट्रिंग '4/9/2013' है और मेरा अपेक्षित आउटपुट '04/09/2013 'है। यानी 2 अंकों का महीना, 2 अंकों की तारीख और 4 अंकों का वर्ष '/'Convert varchar2 ('एम एम/DD/YYYY') PL/SQL

से अलग है मेरे पास डेटा है: DOJ varchar2 (10 बाइट) कॉलम में '4/9/2013' मान है। मैं उपयोग कर रहा हूँ 'TO_DATE के चयन (DOJ,' एम एम/DD/YYYY ') EmpTable से। लेकिन मुझे परिणाम 09-एपीआर -13 के रूप में मिल रहा है। मैं इसे 04/09/2013 प्रारूप में चाहता हूं।

कृपया सलाह दें। अग्रिम में धन्यवाद।

+0

एक 'जब आप इसे प्रदर्शित करने के लिए डेटाबेस या आवेदन पूछते हैं कि सिर्फ एक विशिष्ट प्रारूप में धर्मान्तरित DATE' कोई प्रारूप है, फिर। यदि आपको किसी विशिष्ट प्रारूपित तिथि की आवश्यकता है, तो आपको इसके बजाय 'वर्कर' से 'वर्कर' में परिवर्तित करने की आवश्यकता है। –

+0

मुझे केवल वर्चर या किसी डेटाटाइप में आउटपुट की आवश्यकता है .. यह क्वेरी का चयन करें '04/09/2013 'जैसा होना चाहिए। –

+0

ऑरैकल एसक्यूएल 11 जी – KingRider

उत्तर

7

सबसे आसान तरीका शायद एक DATE पर एक VARCHAR से कन्वर्ट करने के लिए है, फिर इसे अपने इच्छित स्वरूप में फिर से VARCHAR पर प्रारूपित करें;

SELECT TO_CHAR(TO_DATE(DOJ,'MM/DD/YYYY'), 'MM/DD/YYYY') FROM EmpTable; 

An SQLfiddle to test with

+0

धन्यवाद के साथ 'TO_DATE (SUBSTR (DOJ, 1, 11), 'dd/mm/rrrr') 'का प्रयास करें। यह मेरे लिए काम किया। –

2

पहले तुम वापस CHAR करने के लिए तिथि करने के लिए VARCHAR कन्वर्ट और फिर। मैं इसे लगभग हर दिन करता हूं और कभी भी कोई बेहतर तरीका नहीं मिला।

select TO_CHAR(TO_DATE(DOJ,'MM/DD/YYYY'), 'MM/DD/YYYY') from EmpTable 
+0

धन्यवाद। यह मेरे लिए काम किया। –

0

उदाहरण क्वेरी: SELECT TO_CHAR(TO_DATE('2017-08-23','YYYY-MM-DD'), 'MM/DD/YYYY') FROM dual;

+0

यह कोड स्वरूपण और एक वैध उत्तर होने के लिए एक स्पष्टीकरण की आवश्यकता है। मेरा सुझाव है कि आप [दौरे] को [उत्तर] पढ़ें और फिर अपनी पोस्ट को एक अच्छी गुणवत्ता बनाने के लिए [संपादित करें] लें –