[Oracle] Problemas com TO_NUMBER e TRIM

Olá:

Estou usando o Oracle 8 (versão 8.0.5.2.1) com o arquivo ojdbc14.jar como driver JDBC (Oracle Thin Driver - versão 9.2.0.3.0).
:x Primeiro problema:
Quero fazer um TRIM. Seguindo as instruções tentei executar esta query no DbVisualizer, e no JFaceDBC do Eclipse:

SELECT TRIM (0 FROM 0009872348900) "TRIM Example"
FROM DUAL

Não tive sucesso. Apareceu a mensagem:

:x Segundo problema:
Estou fazendo uma query onde estou usando a função INSTR dentro de um TO_NUMBER. Eis a query:

select /*+ TTDSLS040500$IDX1, TTDAWM580500$IDX9, TTDAWM300500$IDX14 */ 
    distinct 
    o.t$refa as nota, 
    to_number(substr(o.t$refa, 0, instr(o.t$refa, '/', 1, 1) - 1)) as numnfnum, 
    to_number(substr(o.t$refa,    instr(o.t$refa, '/', 1, 1) + 1)) as serie
from TTDSLS040500 o, TTDAWM580500 s, TTDAWM300500 p, ttccom013500 depo, ttccom013500 dest
where 
    o.t$orno = 147139
    and o.t$orno = s.t$ohordn 
    and s.t$ohmann = p.t$scmann
    and p.t$scordn = o.t$orno
    and depo.t$cuno = o.t$depo
    and dest.t$cuno = o.t$cuno
    and dest.t$cdel = o.t$cdel

Aqui a query é executada normalmente, me retornando apenas uma linha. Entretanto, se eu tentar executar a mesma query sem o joins:

select /*+ TTDSLS040500$IDX1, TTDAWM580500$IDX9, TTDAWM300500$IDX14 */ 
    distinct 
    o.t$refa as nota, 
    to_number(substr(o.t$refa, 0, instr(o.t$refa, '/', 1, 1) - 1)) as numnfnum, 
    to_number(substr(o.t$refa,    instr(o.t$refa, '/', 1, 1) + 1)) as serie
from TTDSLS040500 o, TTDAWM580500 s, TTDAWM300500 p, ttccom013500 depo, ttccom013500 dest
where 
    o.t$orno = 147139

Coisas estranhas acontecem. Primeiro reclamava do segundo TO_NUMBER, de que era um número inválido ou coisa paecida. Agora, neste momento, mandei executar a query há uns dez minutos e até agora não obtive resposta.

:?: Alguém tem alguma idéia?

Grato,

A primeira query, a do TRIM eu usei no Oracle9i e funcionou.