में एक स्ट्रिंग दिनांक से दिनांक प्रारूप को परिवर्तित करने के लिए कैसे करें मेरा दिनांक मान varchar2
के रूप में संग्रहीत किया गया है और मान 15/August/2009,4:30 PM
है, इसे DD-MM-YYYY
जैसे उचित दिनांक प्रारूप में कैसे परिवर्तित करें।oracle10g
उत्तर
आप एक तिथि TO_DATE के समारोह का उपयोग कर के लिए एक स्ट्रिंग में बदल सकते हैं, फिर एक और स्ट्रिंग के रूप में की तारीख TO_CHAR उपयोग करते हुए, यानी पुन: फ़ॉर्मेट:
SELECT TO_CHAR(
TO_DATE('15/August/2009,4:30 PM'
,'DD/Month/YYYY,HH:MI AM')
,'DD-MM-YYYY')
FROM DUAL;
15-08-2009
उदाहरण के लिए, यदि आपके तालिका नाम mytable और है
SELECT TO_CHAR(
TO_DATE(MYDATESTRING
,'DD/Month/YYYY,HH:MI AM')
,'DD-MM-YYYY')
FROM MYTABLE;
आपको TO_DATE
फ़ंक्शन का उपयोग करने की आवश्यकता है।
SELECT TO_DATE('01/01/2004', 'MM/DD/YYYY') FROM DUAL;
मैं इस त्रुटि संदेश ORA-01,858 हो रही है: varchar2 स्तंभ MYDATESTRING है एक गैर संख्यात्मक कैरेक्टर मिला था जहां एक अंकीय उम्मीद थी ORA-02,063: GENCONAIMSUA से लाइन पूर्ववर्ती टी 01858. 00000 - "एक गैर-संख्यात्मक चरित्र पाया गया जहां एक संख्यात्मक अपेक्षित था" * कारण: दिनांक प्रारूप मॉडल का उपयोग करके परिवर्तित किया जाने वाला इनपुट डेटा गलत था। इनपुट डेटा में एक संख्या नहीं थी जहां प्रारूप मॉडल द्वारा आवश्यक संख्या थी। * कार्य: तत्व संख्या और प्रकार से मेल खाते हैं, यह सुनिश्चित करने के लिए इनपुट डेटा या दिनांक प्रारूप मॉडल को ठीक करें। फिर ऑपरेशन का पुनः प्रयास करें। – leelavinodh
धन्यवाद। मैं कुछ सबस्ट्रिंग फ़ंक्शन का उपयोग करके इस परिणाम को प्राप्त करने में कैसे कामयाब रहा। लेकिन आपका जवाब मेरे इस्तेमाल से कहीं अधिक सरल है। आपका बहुत बहुत धन्यवाद। मेरा एसक्यूएल स्टेटमेंट cr__claim_int_details_view से to_date (substr (CRM_ACC_DATE_TIME, 1, instr (CRM_ACC_DATE_TIME, ',') - 1), 'dd-mm-yyyy') का चयन करता है; – leelavinodh
हाँ, आमतौर पर एक बिल्ली त्वचा के लिए एक से अधिक तरीके है :) –