Consulta Data e Hora

30/04/2013

Pessoal estou precisando de uma ajuda.

Preciso fazer uma consulta com data e hora, então até ai tudo blz!! mais o problema maior e que a hora so deve ser utilizada na data final.

DATA HORA
10/01/2013 10:00:00
10/01/2013 17:01:00
11/01/2013 10:01:00
11/01/2013 17:00:00
11/01/2013 17:01:00

SELECT * FROM LOG_SISTEMA
WHERE DATA >= '2013-01-10'
AND DATA <= '2013-01-11'
AND HORA >= '10:00:00'
AND HORA <= '17:00:00'
ORDER BY DATA, HORA

até aqui blz mais eu preciso que a hora final 17:00:00 so seja processada na data final ai a consulta teria que vir assim

DATA HORA
10/01/2013 10:00:00
10/01/2013 17:01:00 --> tem que entrar mais na consulta acima ele não mostra.
11/01/2013 10:01:00
11/01/2013 17:00:00


Abraço

Dangelo Sousa

Respostas

30/04/2013

Alex Lekao

Ola Dangelo, boa tarde!!!

Os CAmpos de data e hora sao separados?

No caso o campo data eh somente data e campo hora eh somente hora, caso vc queira vc pode usar o convert, por exemplo convert(varchar,data,103) neste padrão ficara somente data, e convert(varchar,data,8) ficara somente hora.

ou vc poder usar o convert apenas no group by que devera funcionar tambem.

Teste e post ai se deu certo.

Espero ter ajudado.

Abraco.

Alex - Lekao
Responder Citar

30/04/2013

Dangelo Sousa

Os dois campos são separados sim

mais não consigo fazer a consulta com a data e hora ou seja

eu quero que somente a hora seja utilizada na data final.

ou seja 01/01/2013 ate 31/01/2013 --> aqui eu utilizo a hora somente para trazer para mim os registros ate uma determinada hora da operação mais somente no dia 31/01/2013 os outros dias tem que vim normal.
Responder Citar

02/05/2013

Dangelo Sousa

....
Responder Citar

02/05/2013

Cesar Roniglei

Bom dia pode utilizar da forma abaixo, pelo que entendi você tem dois campos:

Select Convert(NVarchar, GetDate(), 102), Convert(NVarchar, GetDate(), 114)
Where Convert(NVarchar, GetDate(), 102) + ' ' + Convert(NVarchar, GetDate(), 114) > GetDate()
Responder Citar

02/05/2013

Dangelo Sousa

Mim desculpe amigo mais ainda nao entendi o porque devo converter data, hora.

Eu só quero fazer uma consulta entre datas e horas mais que a hora seja consulta na ultima data.

Ex:

SELECT * FROM TABELA
WHERE DATA >= DT_INI
AND (DATA <= DT_FIN AND (HORA >= HR_INI AND DATA <= HR_FIN))

01/04/2013 ATE 30/04/2013
08:00:00 ATE 16:00

01/04/2013 08:30:00 TEM QUE SAIR
01/04/2013 16:30:00 TEM QUE SAIR
30/04/2013 17:00:00 NAO TEM QUE SAIR POIS SO QUERO QUE O PERIODO DE HORAS SO SAIA NA ULTIMA DATA DO MES CONSULTADO.

Responder Citar

02/05/2013

Cesar Roniglei

Posso acessar ai para dar uma olhada, da para resolver sim.
meu msn: cesaronig@hotmail.com
Responder Citar

02/05/2013

Dangelo Sousa

EU AINDA NAO DESENVOLVI

EU SO CRIEI UMA TABELA PARA TESTES COM OS CAMPOS DATA E HORA E INFORME OS DADOS E ESTOU FAZENDO AS CONSULTAS.

CREATE TABLE TAB_TESTE
(SEQUENCIA INTEGER NOT NULL,
DATA DATE,
HORA TIME,
CONSTRAINT PK_TAB_TESTE PRIMARY KEY (SEQUENCIA))

INSERT INTO TAB_TESTE (SEQUENCIA, DATA, HORA) VALUES (1, '2013-04-01', '08:00:00') TEM QUE SAIR
INSERT INTO TAB_TESTE (SEQUENCIA, DATA, HORA) VALUES (2, '2013-04-01', '16:30:00') TEM QUE SAIR
INSERT INTO TAB_TESTE (SEQUENCIA, DATA, HORA) VALUES (3, '2013-04-30', '17:00:00') NAO TEM QUE SAIR

SELECT * FROM TAB_TESTE
WHERE DATA >= '2013-04-01'
AND (DATA <= '2013-04-30' AND (HORA >= '08:00:00' AND HORA <= '16:00:00'))

Responder Citar

03/05/2013

Dangelo Sousa

.....
Responder Citar

17/08/2013

José

Olá amigo, poderia nos informar se teve algum avanço em relação a sua duvida ?
Responder Citar

31/08/2013

Emerson

data e hora são um conjunto. não dá pra comprar de forma independente.

tente assim:

SELECT * FROM TAB_TESTE
WHERE DATA+' '+HORA BETWEEN '2013-04-01 08:00:00' AND '2013-04-30 '16:00:00'
Responder Citar

04/09/2013

Rbbarreto

Tenta assim : fiz o exemplo e deu certo.


SELECT * FROM TAB_TESTE
WHERE convert(date, data, 103) between
convert(date, '01/04/2013', 103) and
convert(date, '30/04/2013', 103) and

CONVERT(time, hora, 104) between
CONVERT(time, '08:00', 104) and
CONVERT(time, '17:00', 104)
Responder Citar

04/09/2013

Dangelo Sousa

Muito Obrigado Pessoal Pelas Respostas!!!

Caso Resolvido!!!
Responder Citar