TeixeiraRamos 4 Report post Posted November 14, 2016 Prezados, Tenho uma página em ASP e no meu SELECT tem dois campos: data_qso e o outro dataagora Esses dois campos abrem na tabela normalmente, sem problema. Acontece que gostaria calcular a diferença entre essas duas datas usando a função: DATEDIFF (data_final, data_inicial) Tentei isso: <td><%=DateDiff(rs("data_qso","dataagora"))%></td> A página não abre e aparece a mensagem de erro: Erro de tempo de execução do Microsoft VBScript erro '800a01c2' Número de argumentos incorreto ou atribuição de propriedade inválida: 'rs' /meu novo site nova versao/pesquisa.asp, linha 155 Tentei isso: <td><%=DateDiff(rs("data_qso"),(rs("dataagora")))%></td> Recebo a mesma mensagem de erro. Share this post Link to post Share on other sites
Public2004 79 Report post Posted November 14, 2016 Para calcular uma diferença entre datas, você precisa especificar um parâmetro de intervalo, como dias, meses, anos, etc. Basicamente seria ago como este exemplo: <% hoje = date() natal = "25/12/2016" intervalo = DateDiff("d", hoje, natal) Response.Write("Faltam "& intervalo &" dias para o Natal de 2016") %> Neste exemplo, foi utilizado o parâmetro de intervalo "d" que se refere a "day" (dias). Mais sobre estes parâmetros e a função em si, podem ser obtidos [aqui]. Detalhe, trabalhar com datas requer alguns cuidados como, armazenar de forma correta no banco de dados, definir nas páginas o CodePage e Session.LCID de acordo com a região, entre outros. Att. Share this post Link to post Share on other sites
TeixeiraRamos 4 Report post Posted November 14, 2016 Obrigado. Resolvido!!! Share this post Link to post Share on other sites
TeixeiraRamos 4 Report post Posted November 15, 2016 Não poderia deixar, também, de informar um experiência marcante a respeito da DATEDIFF. Para melhor compreensão: Tenho dois campos que vou chamar data_variada e data_agora; Como o próprio nome do campo sugere "data_variada" é uma data que variar e o campo data_agora CRIEI é a data real do computador; Como criei a data_agora? No SELECT digitei o seguinte: SELECT NOW() AS data_agora; Com isso foi possível povoar a tabela com a data_agora (data exata do computador) possibilitando o próprio SQL gerar uma coluna com a "quantidade_dias", ou seja, DATEDIFF(data_agora, data_variada); Com isso fico sabendo, a quantidade de dias, entre as duas datas. Share this post Link to post Share on other sites
xanburzum 169 Report post Posted November 23, 2016 você também pode usar o Between do SQL Share this post Link to post Share on other sites
TeixeiraRamos 4 Report post Posted November 23, 2016 Muito obrigado xanburzum vou verificar. Abraço. Share this post Link to post Share on other sites