Calculo com data

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Raphael Bernardo
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Seg, 24 Ago 2009 9:08 am
Localização: São Paulo

Bom dia pessoal....
Estou com problemas para trabalhar com três campos de datas. No primeiro, eu preciso somente do campo da data sem a hora. No segundo, preciso só da hora sem a data. Formato ambos com to_char, concateno e subtraio de um terceiro campo, mas ele retorno o seguinte erro: ORA01722 - invalid number.
Já tentei depois de tranforma-los em char dar um to_date, mas ai ele dá outro erro: ORA01843 - not valid month.

to_char(data1, 'dd/mm/yyyy') ||' '|| to_char(data2, 'hh24:mi:ss')
- to_char(data3, ' dd/mm/yyyy hh24:mi:ss')

Será que alguém tem alguma idéia de onde está o erro?

Obrigado
ishii
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 28 Dez 2010 7:41 pm
Localização: São Paulo - SP

Olá,

Coloque aqui os resultados de cada to_char separadamente, assim fica mais fácil para entender onde pode estar o problema.

[]s Ishii
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Raphael,

Você poderia tentar esta operação (imaginando que os campos sejam do tipo DATE):

Selecionar tudo

TO_DATE(TO_CHAR(data1, 'DD/MM/RRRR') ||' '|| TO_CHAR(data2, 'HH24:MI:SS'),'DD/MM/RRRR HH124:MI:SS') 
- data3
Você precisa formatar novamente para DATE os campos DATA1 e DATA2, que foram convertidos na sua querie para para CHAR.

Mas seria interessante seguir o conselho do ishii, postando no forum os resultados individuais de cada TO_CHAR.

Abraços,

Sergio Coutinho
Raphael Bernardo
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Seg, 24 Ago 2009 9:08 am
Localização: São Paulo

Opa....
Eu já havia colocado to_date nos campos, mas não indiquei a formatação dd/mm/yyyy hh24:mi:ss no date. Pensei que ele assumiria a formatação que eu já havia definido no to_char.
Erro bobo, né...rsrsrs

Mas valeu pessoal....
Muito obrigado!!!!
abraço
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 21 visitantes