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.
