Provavelmente tem algum valor em que os dois primeiros dígitos estão com algum valor maior que 23.
Uma dúvida (minha): já que o campo é NUMBER, ele não armazena zeros na esquerda, certo? Se um desses valores for, por exemplo: 34550 (3 horas, 45 minutos e 50 segundos), como fica a conversão pra date?? Use uma outra função antes, para preencher com zero a esquerda (até o limite de 6 caracteres), convertendo assim o valor em VARCHAR2. É um chute, não tenho certeza de que o problema seja esse... On 9/25/07, Marcio Portes <[EMAIL PROTECTED]> wrote: > > Qual o problema com o to_date(...) não entendi. > Eu faria exatamente isso: to_date(campo, 'hh24miss') - to_date()... > > On 9/25/07, rei_do_delphi <[EMAIL PROTECTED]<brunomaximomogi%40hotmail.com>> > wrote: > > > > Boa tarde a todos, tenho uma tabela que tem um campo que armazena a > > data de alguma coisa, em formato number. Ex: 193104 para 19 horas, 31 > > minutos e 04 segundos. Precisamos subtrair esse campo de outro campo > > que também contém hora nesse mesmo forma e também em number. Gostaria > > de saber se há alguma maneira de fazer isso sem uso de pl/sql, isto é, > > apenas por funções do oracle, ja sei que não funciona: > > > > select to_date(campo,'hh24miss') from tabela > > > > pois ele reclama que a hora tem que estar entre 0 e 23. > > > > Alguém pode me dar alguma ajuda? > > Obrigado a todos e abraço. > > > > > > > > -- > Marcio Portes > Material Tecnico em Portugues - http://mportes.blogspot.com > Practical Learning Oracle - > http://mportes.blogspot.com/2006/02/practical-learning-oracle.html > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]