Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एक विशिष्ट दिनांक प्रारूप की नियमित अभिव्यक्ति

यह विचार अच्छा नहीं है। केवल यह सत्यापित करने का तरीका है कि कोई तिथि सही है, इसे दिनांक में बदलने का प्रयास करना है। यदि रूपांतरण विफल हो जाता है तो यह कोई तिथि नहीं है; यदि यह सफल होता है तो यह हो सकता है होना। नियमित भाषा को पार्स करने के लिए तिथियां बहुत जटिल हैं।

तो, एक ऐसा फ़ंक्शन बनाएं जो इसे दिनांक में परिवर्तित करे; आप यहां से कहीं अधिक सामान्य बना सकते हैं, इसलिए इसे अन्य उद्देश्यों के लिए पुन:उपयोग किया जा सकता है:

create or replace function validate_date (
     PDate in varchar2
   , PDateFormat in varchar2
     ) return date is
begin
   return to_date(PDate, PDateFormat);
exception when others then
   return null;
end;

यह एक तिथि देता है यदि यह सत्यापित करने में सक्षम है कि दिनांक और दिनांक प्रारूप मेल खाता है, अन्यथा कोई त्रुटि होने पर न्यूल लौटाता है। तब आपकी क्वेरी बन जाती है:

select 'P' from dual where validate_date('20140506', 'yyyymmdd') is not null


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जब मैं डेटएड या डेटिडिफ कोड दर्ज करता हूं तो मुझे यह त्रुटि हर समय मिलती है ORA-00904 DATEADD INVALID IDENTIFIER।

  2. दोहरी से एन पंक्तियों को वापस करने के लिए एसक्यूएल क्वेरी

  3. Oracle BIND चर में एकाधिक मानों की घोषणा

  4. सी # से ओरेकल संग्रहीत प्रक्रिया में तालिका-मूल्यवान पैरामीटर कैसे पास करें?

  5. .NET कोड से कनेक्ट करते समय Oracle कनेक्शन ओपन एरर