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

Consultar data e hora usando odbc


LaércioSampaio

Pergunta

Boa tarde.

Estou com um probleminha e preciso de ajuda.

Estou fazendo uma consulta no campo data e hora no access e não está funcionando.

É simples, quero consultar as datas menores que a atual.

Segue:

$data2 = date('j/m/Y H:i:s');

$con = odbc_connect("base_gp","","") or die("Erro na conexão com o Database");

$sql = odbc_exec($con,"SELECT * FROM tbl_Historico_Total WHERE HTI_DATA < '$data2'");

Já tentei vários formados de data e hora, mas não consigo fazer essa consulta.

O banco de dados que estou usando é o access.

Desde já muito obrigado!

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Mas vai depender do tipo de dado que você usa no campo.

Acabei de fazer um teste aqui em um banco de dados PostgreSQL (é diferente mas é linguagem SQL também) e o sinal de maior ou menor não me retornou nenhum resultado.

Talvez fosse melhor você procurar algo a respeito na seção de linguagens SQL.

Cara foi mal.

Aceita sim

Link para o comentário
Compartilhar em outros sites

  • 0

Então..se o banco está gravando no formato (AAAA-MM-DD HH:MM:SS) a query tem que ser rodada neste formato.

Se você enviar uma consulta desta forma " where data < '2009-04-24 23:59:59' ele não traz nada?

Roda esta instrução direto no console pra ver.

Eu acho que o que está engasgando aí é o fato do seu campo date ser com Time Stamp...aí se você não enviar a informação da hora, acho que a consulta irá retornar vaiza mesmo...agora se você enviar o time stamp desta maneira (23:59:59) juntamente com a data, acho que retorna valor.

É que eu já passai por uma situação semelhante, onde meu campo date era com Time Stamp...eu não enviava a hora..ele me retornava vazio.

Link para o comentário
Compartilhar em outros sites

  • 0

Meu camarada.

A solução que achei foi a seguinte.

<?php

$di = "27/4/2009 00:00:00";

$df = "27/4/2009 10:00:00";

$con = odbc_connect("base_gp","","") or die("Erro na conexão com o Database");

$sql = odbc_exec($con,"SELECT * FROM datas WHERE datainicial between #$di# and #$df# ");

?>

foi a melhor solução, a única coisa que pastei foi que ao invés ' tem que ser usado #.

Mas na verdade foi divertido, isso me motiva bastante "DESAFIOS".

Link para o comentário
Compartilhar em outros sites

  • 0

o access interpreta mesmo datas de maneiras diferentes no sql... campos do tipo data, tem de ser delimitados com # ao invés de '... também senti essa diferença quando migrei de asp + access pra php+mysql...

:D

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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...