Ir para conteúdo
Fórum Script Brasil
  • 0

Função MySql validação de feriado nacional


ismorfi

Pergunta

Olá pessoal,

Estou há pouco tempo realizando analises e manutenção de BD no MySql e queria saber se podem me ajudar.

Eu criei uma função básica para auxiliar na identificação de horas para os colaboradores, neste caso os temporários já que os efetivos já tenho essa informação. O problema é que toda vez que tem algum feriado nacional eu tenho que desconsiderar manualmente as horas daquele dia e reprocessar a consulta. Se o feriado for de seg a qui são 9 horas e se for na sexta são 8 horas.

Função:

CREATE DEFINER=`dsdsd`@`%` FUNCTION `getValorHorasTemp`(EntradaMat varchar(255)) RETURNS int(11)
    DETERMINISTIC
BEGIN
DECLARE matricula varchar(255);
DECLARE Horas INT;
SET matricula = EntradaMat;
IF LOCATE('.t', matricula) THEN
  SET Horas = 44;
END IF;
RETURN Horas;
END

Pensei em otimizar deixando programado os feriados nacionais, e ao rodar a consulta ela deve verificar se na semana houve feriado e em qual dia, se for positivo, ela não deve desconsiderar a hora daquele dia. Já que são 44 horas a ideia é percorrer os dias e na confirmação de feriado e não considerar na soma ou subtrair do total. Contudo, não consegui colocar em pratica. Se puderem me ajudar com alguma dica, ficarei muito grato.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Qual a composição do argumento EntradaMat?

16 horas atrás, ismorfi disse:

Pensei em otimizar deixando programado os feriados nacionais, e ao rodar a consulta ela deve verificar se na semana houve feriado e em qual dia

Crie uma tabela e consulte-a. Se retornar NULL não é um feriado. Senão, use a função DAYOFWEEK que, ao passar uma data para ela, retorna 1 para domingo, ..., e 7 para sábado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...