Bạn có thể kiểm tra định dạng bằng biểu thức chính quy.
Nó sẽ giống như:
select dates
from tbl
where regexp_like(dates, '[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}')
Điều này hoạt động ổn. Nó kiểm tra định dạng là "số 4 chữ số / số 2 chữ số / số 2 chữ số". Bạn có thể muốn thứ gì đó mạnh mẽ hơn, chẳng hạn như:
select dates
from tbl
where regexp_like(dates, '[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}') or
(substr(dates, 1, 4) not between '1900' and '2014' or
substr(dates, 6, 2) not between '01' and '12'
substr(dates, 9, 2) not between '01' and '31'
)
Điều này kiểm tra định dạng và các giá trị hợp lý trong mỗi cột. Tất nhiên, nó không kiểm tra cho ngày 31 tháng 6, nhưng nó sẽ bắt nhiều lỗi.