Consulta data atual porem hora maior que 12:00:00

26/05/2008

0

:( Ola para todos,

Estou desesperado, não consigo fazer uma consulta com data atual e hora maior que 12:00:00.

Este é o sql

SELECT max (p.id_prescricao)as id_prescricao, p.nrconta, max(p.datahora) as datahora, max(p.data_hora_medicamento) as data_hora_medicamento, ss.nme_funcionario, sp.nme_paciente, sp.sbn_paciente FROM PRESCRICAO p inner join sgh_entradas se on p.nrconta = se.nro_conta and se.tpo_paciente = ´I´ inner join sgh_pacientes sp on sp.nro_registro = se.nro_registro inner join sgh_senhas ss on ss.nro_senha = p.usuario_dieta_med WHERE p.DATAHORA > [b:9f4b5a21f5]´05/21/2008 12:00:00´ [/b:9f4b5a21f5]Group BY p.nrconta, ss.nme_funcionario, sp.nme_paciente, sp.sbn_paciente order by sp.nme_paciente

Só que no lugar da data que eu especifiquei, eu queria q ele buscasse a data doo servidor, porém a hora teria que ser maio que 12:00:00.

Alguém poderia me ajudar ?

Desde já agradeço.


Falcondesign

Falcondesign

Responder

Posts

26/05/2008

Lip

ae fera

tenta alguma coisa tp
.............and extract(hour from cast(´now´ as timestamp)) >12......
vai extrair o 12* da hora e o que for maior vai pegar...
bom, qqé coisa to d volta amanha


Responder

26/05/2008

Joaoshi

Colega,

WHERE CAST(p.DATAHORA AS DATE) = CURRENT_DATE AND CAST(p.DATAHORA AS TIME) > ´12:00´;

Espero ter ajudado.


Responder

27/05/2008

Falcondesign

Oi pessoal, obrigado pelas respostas. Só que deu outro erro:

[b:13c9a9e6e2]1ª Tentativa [/b:13c9a9e6e2]
WHERE p.DATAHORA = current_timestamp and extract(hour from cast(´now´ as timestamp)) > ´12´

- E dessa forma ele traz a data hora no exato momento. Só que teria que ser
a data atual e hora maior que 12:00:00, que seria (12:01)

[b:13c9a9e6e2]2ª Tentativa[/b:13c9a9e6e2]
WHERE CAST(p.DATAHORA AS DATE) = CURRENT_DATE AND CAST(p.DATAHORA AS TIME) > ´12:00´

- Dá o seguinte erro:
Microsoft OLE DB Provider for ODBC Drivers erro ´80004005´

SQL error code = -104 Client SQL dialect 1 does not support reference to DATE datatype SQL warning code = 301 DATE data type is now called TIMESTAMP

Aguardo ajuda e obrigado a todos.


Responder

27/05/2008

Emerson Nascimento

troque o dialeto do seu banco de dados para o dialeto 3 e use a dica passada ou, mantendo o dialeto 1, faça:
where p.DATAHORA > cast(CAST(Current_date AS varchar(10)) || ´ 12:00:00´ as timestamp)
from rdb$database


Responder

29/05/2008

Falcondesign

OI, eu tentei com o código vc postou mas ele continua não aceitando o current_date. Eu naum posso converter para dialeto 3, pois o banco já está muito grande. Se tiver alguma outra opção eu agradeço. Se precisar de alguma outra informação é só me pedir que eu passo.

Obrigado a todos.

:( :(


Responder

30/05/2008

Emerson Nascimento

ao invés de current_date, use current_timestamp


Responder

13/06/2020

Maylon Santos

Esta usando o Firebird? se sim qual a versão ?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar