conversão para timestamp

Pessoal,fmz?

na minha aplicação executo uma consulta e resgato a coluna com rs.getTimestamp(“nomecoluna”).
Só que está dando erro nisto,e a exception reclama do formato da data.
No banco realmente existe datas cadastradas no fomato dd/mm/yyyy e no formato do timestamp.E quando a data esta neste primeiro formato,pau!!!
toda vez que pegar a data com rs.getTimeStamp tenho que formatar?

qual a melhor forma de se fazer isto?

Obrigado

Pegue como String rs.getString(), depois você converte.

Continua dando erro velho.
a data está como varchar no oracle … 01/01/1967

formato?crio uma nova data?

OBS: usei … Timestamp.valueOf(rs.getString(“data_nasc”));

Cara, faz assim pega como String, depois você converte.

String data = rs.getString();

Depois você usa o SimpleDateFormat para converter para uma data.

Ainda da pau…

SimpleDateFormat sd = new SimpleDateFormat(“dd/MM/yyyy HH:mm:ss”);
System.out.println("Conversão: "+Timestamp.valueOf(sd.format(rs.getString(“data_nasc”))));

Sugere mais alguma coisa???

Ele tá dando pau provavelmente quando você faz:

Timestamp.valueOf(sd.format(rs.getString("data_nasc")))

Dê primeiro um System.out na String:

rs.getString("data_nasc");

Provavelmente não esta vindo neste formato: dd/MM/yyyy HH:mm:ss
Pode ser que esteja vindo assim: yyyy/MM/dd HH:mm:ss

Por isso dê o sysout, e veja em qual formato está vindo. :stuck_out_tongue:

Como eu não posso corrigir a caca que fizeram quando criaram o campo data_nascimento na tbl como varchar , tive que tratar os formatos de datas que estavam cadastrados no banco.

para astring que estava no formato 01/01/1968 deixei 1968-01-01 00:00:00 e assim consegui passar para timestamp(valueOf).

valeu!!!

[quote=lgr]Como eu não posso corrigir a caca que fizeram quando criaram o campo data_nascimento na tbl como varchar , tive que tratar os formatos de datas que estavam cadastrados no banco.
[/quote]

Você não “pode” corrigir, você deve corrigir! Sacou a diferença? :thumbup: