Я использую интегратор данных Oracle в качестве инструмента ETL для загрузки данных, есть один столбец, который в качестве источника имеет формат ГГГГММДД для примера: 20190418. Я хочу запросить эту таблицу, чтобы определить все этизаписи, которые не соответствуют формату 20190418 или ГГГГММДД .PS столбец находится в varchar2 типе данных.
Я уже пытался использовать что-то вроде этого:
SELECT CASE WHEN NOT REGEXP_LIKE('20190418', '^\d{4}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])$') then '00000000' else '20190418' END FROM DUAL;
Кажется, это идентифицирует эти недопустимые даты, но, например, это не такне подойдет для этого: ' 20181023 '.
Может кто-нибудь разобраться, я думаю, что мне не хватает какого-то паттерна