terça-feira, 20 de setembro de 2011

Função para verificar dia útil no MySQL


Salve salve papeiros.

Percebi que o post Função para verificar dia útil no PostgreSQL foi um sucesso, e houveram várias pessoas que buscaram pela mesma função mas no MySQL, então vamos a ela.

Também ressalto que, 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:

1:  Delimiter $$  
2:  Create Function `fun_eh_dia_util`(p_data DateTime) Returns Int(11)  
3:  Begin  
4:     Declare l_ret Integer Default 1;   
5:     If (Weekday(p_data) In (5,6)) Then  
6:     Set l_ret = -1;   
7:     End If;   
8:  Return l_ret;   
9:  End$$   
10:  Delimiter ;   

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

Recebemos através do parâmetro a data a ser verificada, declaramos uma variável que será nosso retorno de tipo integer, (Por padrão, já seto como um dia útil o retorno).
Ai vem a verificação, se o dia da semana for 5 (Cinco) ou 6 (Seis) então seto a variável de retorno como -1 (Menos um), ou seja, falso, e pronto, esta feito nossa função.

No MySQL, a semana inicia-se na Segunda, vejamos

Segunda = 0
Terça = 1
Quarta = 2
Quinta = 3
Sexta = 4
Sábado = 5
Domingo = 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 MySQL

Nenhum comentário:

Postar um comentário