У меня есть следующий SQL:
Select MyNumber
FROM (SELECT to_number(Name) AS MyNumber
FROM TableA
WHERE regexp_replace(Name, '\d+') IS NULL)
Предполагается, что запрос отфильтровывает нечисловые имена из таблицы A, проверяя, не осталось ли ничего, если все цифры заменены ничем.
Может кто-нибудь объяснить, почему я получаю исключение «Недопустимый номер», когда добавляю следующее условие WHERE в качестве внешнего WHERE:
WHERE MyNumber IS NULL
Насколько это актуально, какой тип MyNumber? В частности, я также хотел бы знать, почему я НЕ получаю ошибку, когда я отрицаю условие:
WHERE NOT MyNumber IS NULL
Заранее благодарю за любую помощь.
DEFAULT ...ON CONVERSION ERROR
например здесь - person Lukasz Szozda   schedule 10.07.2018REGEXP_REPLACE
, вы, вероятно, предпочтете использоватьREGEXP_LIKE
. - person Mr. Llama   schedule 10.07.2018