Duvida com tratamento erro de data

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
katia
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Sex, 09 Jan 2009 6:05 pm
Localização: são paulo

Por favor,

Preciso de uma dica, como faço para verificar ao executar minha package de importação, exemplo:


Quero checar se no arquivo, se a data possuir formato dd/mon/yy não deixar atualizar no, somente se tiver com o formato dd/mm/yyyy ?

Muito obrigada.

Kátia

Developer Oracle
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

pode testar isso dentro de um bloco BEGIN END.

Basta pegar a variável que tem a sua data, e atribuir ela usando TO_CHAR. Se rodar, significa que a data está correta. Se der erro, captura o erro num EXCEPTION e trata da forma que você quiser.

Algo assim:

Selecionar tudo

DECLARE
  VDATA  DATE;
  VTEST   VARCHAR2(20):='01-JAN-2008';
BEGIN

  VDATA := TO_DATE ( VTEST, 'DD/MM/RR');
  --Se chegou aqui, a data está correta.

EXCEPTION WHEN OTHERS THEN 
  --Data não é do formato esperado.
  NULL;
END;
Obviamente que nesse exemplo sempre vai cair no exception, pois VTEST não está no formato esperado.
Responder
  • Informação
  • Quem está online

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