Selecao DevMedia QUERO SER PRIME

Fórum Erro em consulta #375527

02/10/2009

0

Olá,

Tenho uma tabela com 1 campo do tipo DATE (DT_DIA) e outro do tipo TIME (DS_HORA). Estou tentando usar o codigo abaixo para que retorne todas as tarefas que tenham a data anterior a data atual e as tarefas com data igual a data atual e com hora anterior a hora atual. Só que esta retornando somente as tarefas com data anterior a data atual, não retorna as tarefas com data igual a atual e com hora anterior a hora atual. Onde está o erro?

QRYPEND.SQL.Text := ´SELECT * FROM AGENDA WHERE ((DT_DIA < CURRENT_DATE) OR ((DT_DIA = CURRENT_DATE) AND (EXTRACT(HOUR FROM DS_HORA) < EXTRACT(HOUR FROM CURRENT_TIME))))´;


Grato

Luiz


L_carlos

L_carlos

Responder

Posts

02/10/2009

Afarias

Todos os registros com data/hora anterior a data/hora atual?? Assim:


SELECT * FROM AGENDA
WHERE DT_DIA+DS_HORA < CURRENT_TIMESTAMP;


T+


Responder

Gostei + 0

02/10/2009

Afarias

quanto ao seu SQL, me parece q o erro pode estar nos parênteses (algum colocado num lugar errado) ... livre-se deles:


SELECT * FROM AGENDA
WHERE DT_DIA<CURRENT_DATE OR (
DT_DIA=CURRENT_DATE AND
EXTRACT(HOUR FROM DS_HORA)<EXTRACT(HOUR FROM CURRENT_TIME))´;


T+


Responder

Gostei + 0

02/10/2009

L_carlos

Caro Afaras,

Continua sem retornar as tarefas com data atual e hora anterior a atual.

Luiz


Responder

Gostei + 0

02/10/2009

Afarias

|Continua sem retornar as tarefas com data atual e hora anterior a atual.


Está certo disto? Não vejo como estar errado.

Qual o banco de dados? FB? Q versão? Qual o dialeto? Os tipos dos campos são realmente DATE e TIME respectivamente?

Pode ter algo errado, mas *não* é o SQL. Veja se os dados (na sua tabela) estão corretos.


T+


Responder

Gostei + 0

02/10/2009

L_carlos

Caro Afarias, me desculpe, foi erro meu, tanto a sua dica como o codigo que postei estavam corretos. A falha foi digitar o campo errado para pesquisar a hora.

Grato

Luiz :shock:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar