Consulta Data e Hora
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
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
Curtidas 0
Respostas
Alex Lekao
30/04/2013
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
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
GOSTEI 0
Dangelo Sousa
30/04/2013
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.
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.
GOSTEI 0
Dangelo Sousa
30/04/2013
....
GOSTEI 0
Cesar Roniglei
30/04/2013
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()
GOSTEI 0
Dangelo Sousa
30/04/2013
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.
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.
GOSTEI 0
Cesar Roniglei
30/04/2013
Posso acessar ai para dar uma olhada, da para resolver sim.
meu msn: cesaronig@hotmail.com
meu msn: cesaronig@hotmail.com
GOSTEI 0
Dangelo Sousa
30/04/2013
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'))
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'))
GOSTEI 0
Dangelo Sousa
30/04/2013
.....
GOSTEI 0
José
30/04/2013
Olá amigo, poderia nos informar se teve algum avanço em relação a sua duvida ?
GOSTEI 0
Emerson Nascimento
30/04/2013
data e hora são um conjunto. não dá pra comprar de forma independente.
tente assim:
tente assim:
SELECT * FROM TAB_TESTE WHERE DATA+' '+HORA BETWEEN '2013-04-01 08:00:00' AND '2013-04-30 '16:00:00'
GOSTEI 0
Ricardo Araujo
30/04/2013
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)
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)
GOSTEI 0
Dangelo Sousa
30/04/2013
Muito Obrigado Pessoal Pelas Respostas!!!
Caso Resolvido!!!
Caso Resolvido!!!
GOSTEI 0