Gravando Data no formato dd/mm/yyyy no Oracle XE

Este forum é destinado a perguntas relacionadas a Oracle, mas que não se enquadram nos forums acima. Aqui serão tratadas também sobre outras tecnologias da oracle, como o Workflow, BPEL, Spatial, OCS, etc.
Responder
monicabolsasr
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Dom, 24 Ago 2008 6:52 pm
Localização: Rio de Janeiro

Oi Pessoal,

Tenho uma aplicação em java usando como banco o Oracle XE. O problema está na gravação do campo de data de Nascimento que até está sendo gravado mas não como desejo.

Entro com data no formato dd/mm/yyyy e quando gravo, no banco aparece dd/mm/yy. Andei pesquisando e descobri que esse é o formato default do Oracle. Mas teria como alterar esse formato para que a data seja gravada com o ano tendo quatro dígitos ???

Detalhe: a data está sendo gravada no formato brasileiro só que com dois dígitos no ano e eu quero quatro dígitos.

Não sei se adianta mas mando abaixo o código da função que fiz prá converter a String recebida do campo de data da página para Date. E a uso para tratar o atributo dataNasc do objeto a ser persistido.

Vamos então aos códigos. A função que criei é a seguinte:

Selecionar tudo

private Date formataData(String dataEntrada){
        SimpleDateFormat formato = new SimpleDateForma("dd/MM/yyyy");
        Date dataSaida = null;
        try{
            dataSaida = formato.parse(dataEntrada);
        }
        catch(ParseException e){
            e.printStackTrace();
        }
        return dataSaida;
   }
e a uso no seguinte trecho:

Selecionar tudo

paciente.setDataNasc(formataData(pacienteForm.getDataNasc()));
E aí ??? Alguém pode me ajudar :cry: ???? Desde já agradeço :)

Abçs,
Mônica.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

No Oracle, o ideal é sempre informar qual formato de data você está usando.
Não sei como você está fazendo aí em JAVA, mas em algum momento do seu código deve ter um INSERT.

nesse Insert, normalmente é definido a máscara sendo usada por você:

digamos que VAR contém 15/12/2009.

Selecionar tudo

INSERT INTO tabela (cod, data)
VALUES (10, to_date( var , 'DD/MM/YYYY')
ou pode ser qualquer outra data como:

Selecionar tudo

INSERT INTO tabela (cod, data)
VALUES (10, to_date( var , 'DD/MM/RR') 

assim vem só 2 digitos.

etc
Responder
  • Informação
  • Quem está online

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