Usuário com melhor resposta
Dúvida em SQL campo DATE e campo TIME

Pergunta
-
Boa noite galera!
Tenho uma tabela que armazena os dados das refeições de um restaurante.
Esta tabela possui um campo date (dta_refeic) e um campo TIME (hra_refeic). Para toda refeição realizada é registrado
um id com a data e a hora da refeição.Portanto, eu posso ter, por exemplo, os seguintes registros:
ID id_restau dta_refeic hra_refeic
16939 7 2012-10-06 13:50:42
4051 7 2012-10-09 14:58:10
5150 1 2012-10-09 15:12:23
Seguindo o exemplo acima, eu preciso fazer uma consulta que me traga todas as refeições que foram realizadas
após o dia 06/10/2012 as 14:00:00. Ou seja se existissem refeições no dia 08/10/2012 as 12:00:00 eu preciso trazer.Montei esta query só que ela não me traz o resultado que preciso:
select
ID,
dta_refeic,
hra_refeic
from
refeicoes
where
id_restau = 7 and
dta_refeic >= '2012-06-06' and
hra_refeic > '14:00:00'Gostaria de saber onde estou errando.
PS. Deve ser necessário apenas SQL ANSI.
Grato!
Respostas
-
Boa noite,
Experimente desta forma:
where id_restau = 7 and ((dta_refeic = '2012-06-06' and hra_refeic > '14:00:00') or (dta_refeic > '2012-06-06'))
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Alexandre Matayosi quarta-feira, 10 de outubro de 2012 09:46
- Marcado como Resposta Roberson Ferreira _Moderator quarta-feira, 10 de outubro de 2012 17:14
Todas as Respostas
-
Boa noite,
Experimente desta forma:
where id_restau = 7 and ((dta_refeic = '2012-06-06' and hra_refeic > '14:00:00') or (dta_refeic > '2012-06-06'))
Espero que ajude.
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Alexandre Matayosi quarta-feira, 10 de outubro de 2012 09:46
- Marcado como Resposta Roberson Ferreira _Moderator quarta-feira, 10 de outubro de 2012 17:14
-
O problema é que a coluna de hora é independente da coluna de data, assim no seu select voce traria somente os dias maiores que 06/06 e que o horario for depois das 14hs, faça como o gapimex sugeriu que funcionara, fazendo 2 condições do tipo "OR" dentro da mesma condição do tipo "AND" do dia inicial 06/60 e maior que 14 e o "OR" com os outros dias.
Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.
- Sugerido como Resposta Alexandre Matayosi quarta-feira, 10 de outubro de 2012 09:46
-