ORACLE - Выбрать количество в подзапросе

У меня есть таблица Oracle, которая содержит набор диапазонов (RangeA и RangeB). Эти столбцы varchar, так как они могут содержать как числовые, так и буквенно-цифровые значения, как в следующем примере:

ID|RangeA|RangeB
1 |   10 |   20
2 |   21 |   30
3 | AB50 | AB70
4 | AB80 | AB90

Мне нужно сделать запрос, который возвращает только записи, которые имеют числовые значения, и выполнить подсчет по этому запросу. До сих пор я пытался сделать это с двумя разными запросами без какой-либо удачи:

Запрос 1:

SELECT COUNT(*) FROM (
SELECT RangeA, RangeB FROM table R
WHERE upper(R.RangeA) = lower(R.RangeA)
) A
WHERE TO_NUMBER(A.RangeA) <= 10

Запрос 2:

WITH A(RangeA,RangeB) AS(
SELECT RangeA, RangeB FROM table 
WHERE upper(RangeA) = lower(RangeA)
)
SELECT COUNT(*) FROM A WHERE TO_NUMBER(A.RangeA) <= 10

Подзапрос работает нормально, так как я получаю две записи, которые имеют только числовые значения, но часть запроса COUNT не выполняется. Я должен получить только 1 на счету, но вместо этого я получаю следующую ошибку:

ORA-01722: invalid number
01722. 00000 -  "invalid number"

Что я делаю неправильно? Буду признателен за любую оказанную помощь.

Ответы на вопрос(3)

Ваш ответ на вопрос