ORACLE - Wybierz opcję Licz na podzapytanie

Mam tabelę Oracle, która zawiera zestaw zakresów (RangeA i RangeB). Kolumny te są varcharami, ponieważ mogą zawierać zarówno wartości liczbowe, jak i alfanumeryczne, takie jak poniższy przykład:

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

Muszę wykonać zapytanie, które zwróci tylko rekordy, które mają wartości liczbowe, i wykonać obliczenie tego zapytania. Do tej pory próbowałem zrobić to z dwoma różnymi zapytaniami bez żadnego szczęścia:

Zapytanie 1:

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

Zapytanie 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

Podzapytanie działa poprawnie, ponieważ otrzymuję dwa rekordy, które mają tylko wartości liczbowe, ale część zapytania COUNT nie działa. Powinienem uzyskać tylko 1 na licznik, ale zamiast tego otrzymuję następujący błąd:

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

Co ja robię źle? Każda pomoc jest bardzo ceniona.

questionAnswers(3)

yourAnswerToTheQuestion