quinta-feira, 25 de agosto de 2011

Função para verificar dia útil no PostgreSQL

Salve salve papeiros.

Dando continuidade no seguimento de matérias sobre funções úteis que nos ajudam muito no dia dia, vou apresentar uma função agora em PostgreSQL, que válida datas úteis.

Para fazer uma função bem completa, teríamos que ter uma tabela que registraria os feriados federais, estaduais e municipais, mas o intuito aqui é somente para saber se a data cai ou não em um sábado ou domingo.

Vamos à função:

Create Or Replace Function paposql.fun_eh_data_util("p_data" timestamp with time zone)
     Returns boolean As
$Body$
Begin
     Return (date_part('dow', p_data) <> 0 And date_part('dow', p_data) <> 6);
End;
$Body$
Language 'plpgsql'
Volatile
Called On Null Input
Security Invoker
Cost 100;

Pronto, agora vamos a explicação do código.

Como o tipo do retorno é um booleano a função retornará True (Verdadeiro) ou False (Falso). Então se o  dia da semana passado em p_data for 0 (Zero) ou 6 (Seis) significará que o dia é um sábado ou domingo.

No PostgreSQL, a semana inicia-se no Domingo, vejamos

Domingo = 0
Segunda = 1
Terça = 2
Quarta = 3
Quinta = 4
Sexta = 5
Sábado = 6.

Agora, é só coloca-la em funcionamento.

Um grande abraço, e até a próxima.

Clique aqui e veja todas as matérias sobre PostgreSQL

Nenhum comentário:

Postar um comentário