[firebase-br] Validação de datas

Tecnobyte Informática temp2 em tecnobyte.com.br
Sáb Jul 30 08:32:49 -03 2011


Bom dia

Você pode usar a palavra-chave WHEN para capturar erros dentro de 
procedures. Então uma forma de saber se uma data (dia, mês, ano) é ou não 
válida é montar uma string no formato DD.MM.AAAA e em seguida tentar fazer 
um CAST para DATE, como mostro abaixo:

DECLARE VARIABLE VariavelVarChar VARCHAR(10);
DECLARE VARIABLE VariavelData DATE;
DECLARE VARIAVEL DataValida SMALLINT;
...
BEGIN
  VariavelVarChar = Dia || '.' || Mes || '.' || Ano;
  VariavelData = CAST(VariavelVarChar AS DATE);
  DataValida = 1;
WHEN ANY DO
    DataValida = 0;
END
...

Partindo deste exemplo dá para fazer uma das coisas abaixo:

- Tratar a data inválida dentro da stored procedure principal.
ou
- Criar uma stored procedure para verificar se uma data é válida e chamá-la 
a partir da stored procedure principal.

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br

-----Mensagem Original----- 
From: Robson Catunda
Sent: Friday, July 29, 2011 4:08 PM
To: FireBase
Subject: [firebase-br] Validação de datas

Tem alguma forma de verificar se uma valor do tipo date é válido ou não?
Algo semelhante ao ISVALIDDATE(ano,mes,dia) do delphi.





Mais detalhes sobre a lista de discussão lista