Очевидно, что v_acct_num
столбец содержит ненулевые c значения. Функция to_number()
имеет ограничение на то, что значение в аргументе не должно содержать никаких ненулевых символов c, в противном случае система отбрасывает ORA-01722 : invalid number
. Если вы уверены в совпадении данных при извлечении нечисловых символов c, используйте regexp_replace(t2.v_acct_num,'[^[:digit:]]')
в сопоставлении предложения join
* on
:
select t2.column
from table1 t1
join table2 t2 on nvl(t1.acct_nmbr,0) = nvl(regexp_replace(t2.v_acct_num,'[^[:digit:]]'),0)
where t2.created_date = date'2017-05-17'
Используйте ANSI-92
стандарт для Join
и ISO-8601
стандарт для date
синтаксиса.