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

Oracle में DATE प्रारूप की जाँच करें

उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन बनाएं और तिथि को पार्स करने का प्रयास करें; यदि कोई अपवाद हैं तो उन्हें कैप्चर करें और अपनी डिफ़ॉल्ट स्ट्रिंग लौटाएं।

CREATE FUNCTION check_Date (
  datestring    VARCHAR2,
  format_mask   VARCHAR2 := 'FXMMDDYYYY',
  default_value VARCHAR2 := '00000000'
) RETURN VARCHAR2 DETERMINISTIC
IS
  INVALID_DATE EXCEPTION;
  PRAGMA EXCEPTION_INIT( INVALID_DATE, -20001 );

  p_date DATE;
BEGIN
  IF datestring IS NULL THEN
    RAISE INVALID_DATE;
  END IF;

  p_date := TO_DATE( datestring, format_mask );

  RETURN datestring;
EXCEPTION
  WHEN OTHERS THEN
    RETURN default_value;
END check_Date;
/

वैकल्पिक :

SELECT CASE
       WHEN NOT REGEXP_LIKE( datestring, '^(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{4}$' )
       THEN '00000000'
       WHEN TO_CHAR(
              ADD_MONTHS(
                TRUNC( TO_DATE( SUBSTR( datestring, 5 ), 'YYYY' ), 'YYYY' ),
                TO_NUMBER( SUBSTR( datestring, 1, 2 ) ) - 1
              )
              + TO_NUMBER( SUBSTR( datestring, 3, 2 ) ) - 1,
              'MMDDYYYY'
            )
            <> datestring
       THEN '00000000'
       ELSE datestring
       END
FROM   your_table


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में सिस्टमस्टैम्प फ़ंक्शन

  2. कोई रिकॉर्ड न होने पर SUM का चयन करें एक पंक्ति लौटाता है

  3. Oracle से पायथन 2.7 कनेक्शन:लूज़िंग (पोलिश) वर्ण

  4. गैर-कुंजी-संरक्षित त्रुटि प्राप्त किए बिना एक जॉइन व्यू को अपडेट करना

  5. Oracle में सप्ताह का पहला और अंतिम दिन कैसे प्राप्त करें?