Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Lọc ra các bản ghi không có trong oracle định dạng ngày tháng này

Bạn có thể sử dụng một hàm nội tuyến để kiểm tra xem ngày đó có hợp lệ hay không. Như thế này:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn giá trị nhỏ nhất thứ hai trong Oracle

  2. ORACLE 10g:To_date () Không phải là tháng hợp lệ

  3. Oracle ODBC:SQLAllocHandle của trình điều khiển trên SQL_HANDLE_ENV không thành công

  4. CHỌN N hàng trên cùng mà không có ROWNUM?

  5. Cách xác định Quy trình gói Oracle trong H2 để kiểm tra