U kunt de opmaak testen met een reguliere expressie.
Het zou zoiets zijn als:
select dates
from tbl
where regexp_like(dates, '[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2}')
Dit werkt oké. Het controleert of het formaat in "4-cijferig nummer / 2-cijferig nummer / 2-cijferig nummer" is. Misschien wilt u iets sterkers, zoals:
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'
)
Dit controleert het formaat en voor redelijke waarden in elke kolom. Natuurlijk controleert het niet op 31 juni, maar het zal veel fouten opvangen.