Gariglio Postado Março 11, 2008 Denunciar Share Postado Março 11, 2008 Bom dia pessoal ... pessoal .. seguinte ... tenho a seguinte query SELECT COUNT(*) AS verguia FROM parametro, aut_guia WHERE aut_guia.gui_cd =" + codGuia AND parametro.par_cd = 1 AND (CURRENT_DATE() - aut_guia.gui_dtlibsenha) <= parametro.par_diasexpsenhaCrie ela para verificar em qtos dias uma senha sera expirada ... porem tive um problema agora em fevereiroExemplo:Uma senha gerada dia 1° de março e executada dia 4 de março ... ele valida ... pois indica que a mesma foi gerada dia a 3 dias atras. Até ai tudo bem ... sem problemas.Porem ... caso eu crie uma senha no dia 28 de fevereiro e venha executar vamos supor dia 5 de março ... a mesma indica que foi gerada a 78 dias atras.alguém sabe me dizer o porque isso ocorre?Teria algo haver com o ano bissexto?alguém sabe como corrigir????Desde já agradeço a atenção .Gariglio. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Março 12, 2008 Denunciar Share Postado Março 12, 2008 Oi, Gariglio!Experimente modificar sua query conforme abaixo:SELECT COUNT(*) AS verguia FROM parametro, aut_guia WHERE aut_guia.gui_cd =" + codGuia AND parametro.par_cd = 1 AND aut_guia.gui_dtlibsenha >= DATE_SUB(CURRENT_DATE(), parametro.par_diasexpsenha)Esta modificação tem dois propósitos:1 - Evitar que sua pesquisa execute table scan (os cálculos devem ficar a direita do sinal e não utilizar, um campo para tal)2 - Usar a função correta de subtração de datas em MySQL (ver manual do MySQL versão 4.1, tradução em português, capítulo 6) Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gariglio
Bom dia pessoal ...
pessoal .. seguinte ... tenho a seguinte query
SELECT COUNT(*) AS verguia
FROM parametro, aut_guia
WHERE aut_guia.gui_cd =" + codGuia
AND parametro.par_cd = 1
AND (CURRENT_DATE() - aut_guia.gui_dtlibsenha) <= parametro.par_diasexpsenha
Crie ela para verificar em qtos dias uma senha sera expirada ... porem tive um problema agora em fevereiro
Exemplo:
Uma senha gerada dia 1° de março e executada dia 4 de março ... ele valida ... pois indica que a mesma foi gerada dia a 3 dias atras.
Até ai tudo bem ... sem problemas.
Porem ... caso eu crie uma senha no dia 28 de fevereiro e venha executar vamos supor dia 5 de março ... a mesma indica que foi gerada a 78 dias atras.
alguém sabe me dizer o porque isso ocorre?
Teria algo haver com o ano bissexto?
alguém sabe como corrigir????
Desde já agradeço a atenção .
Gariglio.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados