Вы можете использовать выражение case
для преобразования неконвертируемых значений в NULL
:
(case when regexp_like(a.column1, '^[0-9]+[.]?[0-9]*$')
then to_number(a.column1)
end)
Аналогичным образом вы можете использовать предложение where
для фильтрации неправильных значений.