Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Query com Periodo em vários Dias


Raul Pereira

Pergunta

Boa noite!

Preciso fazer um relatório de 30 dias mas só pegar os horários de 6:00 até as 16:00, minha tabela só tenho o campo Datetime: 0000-00-00 00:00:00.

Já fiz com um loop verificando todos os dias nesse período, mas está gerando muitas consultas ao banco de dados.

Ex.: SELECT * FROM tbVenda WHERE venData BETWEEN "2016-01-01 06:00:00" AND "2016-01-01 16:00:00";

 

Alguma ideia de como faze-lo? com Somente uma consulta sql?

Obrigado desde já!

 

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Tente assim:

SELECT *

FROM

(SELECT * FROM tbVenda WHERE venData BETWEEN "2016-01-01 06:00:00" AND "2016-01-31 23:59:59") t1

WHERE TIME(tbVenda) BETWEEN "06:00:00"  AND "16:00:00"; 

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 17/03/2016 at 09:36, Denis Courcy disse:

Tente assim:


SELECT *

FROM

(SELECT * FROM tbVenda WHERE venData BETWEEN "2016-01-01 06:00:00" AND "2016-01-31 23:59:59") t1

WHERE TIME(venData) BETWEEN "06:00:00"  AND "16:00:00"; 

 

Deu certo, só alterei a coluna no WHERE:

..."WHERE TIME(tbVenda) BETWEEN"... para ..."WHERE TIME(venData) BETWEEN"...

Existe um porém, ao colocar horários que viram o dia, ele retorna a SQL em branco. Exemplo: Período: 16:00:00 as 05:00:00;

Alguma ideia do que pode ocorrer?

Editado por Raul Pereira
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...