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.
