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]

Responder a