Jump to content
Fórum Script Brasil
  • 0

Consultar data e hora usando odbc


Question

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 to post
Share on other sites

11 answers to this question

Recommended Posts

  • 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 to post
Share on other 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 to post
Share on other 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 to post
Share on other 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149413
    • Total Posts
      645906
×
×
  • Create New...