आपको जो त्रुटि मिल रही है वह या तो इसलिए है क्योंकि आप TO_DATE
कर रहे हैं उस कॉलम पर जो पहले से ही एक तिथि है, और आप एक प्रारूप मास्क का उपयोग कर रहे हैं जो आपके nls_date_format
से भिन्न है पैरामीटर [1] या क्योंकि event_occurrence कॉलम में डेटा है जो एक संख्या नहीं है।
आपको a) अपनी क्वेरी को सही करने की आवश्यकता है ताकि यह दिनांक कॉलम पर TO_DATE का उपयोग न करे, और b) अपने डेटा को सही करें, यदि event_occurrence को केवल संख्या माना जाता है।
और यह सुनिश्चित करने के लिए कि आप केवल संख्याओं को संग्रहित कर सकते हैं, उस कॉलम के डेटाटाइप को ठीक करें।
[1] जब आप ऐसा करते हैं तो Oracle क्या करता है:TO_DATE(date_column, non_default_format_mask)
है:TO_DATE(TO_CHAR(date_column, nls_date_format), non_default_format_mask)
आम तौर पर, डिफ़ॉल्ट nls_date_format
पैरामीटर dd-MON-yy
. पर सेट है , इसलिए आपकी क्वेरी में, क्या होने की संभावना है कि आपका दिनांक कॉलम dd-MON-yy प्रारूप में एक स्ट्रिंग में परिवर्तित हो गया है, और फिर आप इसे MMDD प्रारूप का उपयोग करके एक तारीख में वापस कर रहे हैं। स्ट्रिंग इस प्रारूप में नहीं है, इसलिए आपको एक त्रुटि मिलती है।