sql >> データベース >  >> RDS >> Oracle

この日付形式のオラクルではないレコードを除外します

    インライン関数を使用して、日付が有効かどうかを確認できます。このように:

    WITH 
    FUNCTION is_valid_date (date_str_i VARCHAR2, format_i VARCHAR2) RETURN VARCHAR2
    /* check if date is valid */
    AS
      l_dummy_dt DATE;
    BEGIN
      SELECT TO_DATE(date_str_i,format_i) INTO l_dummy_dt FROM DUAL;
      RETURN 'Y';
    EXCEPTION WHEN OTHERS THEN
      RETURN 'N';
    END; 
    dates  AS (
    SELECT '0201-05-31 00:00:00' dates_col FROM dual UNION ALL
    SELECT '31-May-2019 00:00:00' FROM dual UNION ALL
    SELECT 'TEXT' FROM dual UNION ALL
    SELECT '15-May-2019 00:00:00' FROM dual UNION ALL
    SELECT '01-Apr-2019 00:00:00' FROM dual UNION ALL
    SELECT '01-Apr-2019' FROM dual 
    ) SELECT *
      FROM dates
     WHERE is_valid_date(dates_col,'DD-MON-YYYY HH24:MI:SS') = 'Y';
    
    


    1. postgresqlデータベースにMrjobとHadoopを取り込む方法

    2. 考えられるPDOExceptionエラー(MySQL 5)?

    3. Oracle ORA-00933:SQLコマンドが正しく終了していませんか?

    4. PostgreSQLでデータベースのスキーマをエクスポートするにはどうすればよいですか?