convert(varchar(10), pdate(), 111)
ऐसा प्रतीत होता है कि SQL सर्वर convert
का उपयोग करने का प्रयास किया गया है समारोह। यह Oracle में काम नहीं करेगा।
मैं बस कुछ ऐसा करूँगा
DECLARE
l_dt date;
BEGIN
l_dt := to_date( pdate, 'yyyymmdd' );
EXCEPTION
WHEN others
THEN
raise_application_error( -20001, pdate || ' is not a date in the format YYYYMMDD' );
END;
बेशक, यदि आप कई जांच करना चाहते हैं ताकि लंबाई गलत होने पर आप एक अलग अपवाद फेंक सकें या यह सुनिश्चित करने के लिए कुछ चेक जोड़ सकें कि तारीख उचित है (यानी पिछले 100 वर्षों के भीतर होनी चाहिए या 100 वर्षों से अधिक नहीं होनी चाहिए भविष्य, आदि) आप to_date
. के बाद ऐसा कर सकते हैं रूपांतरण।