Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Filtro entre 2 datas


Marcos Arantes Júnior

Question

Banco de dados MySQL

Sei que para pesquisar em um campo data posso usar o seguinte código:

SELECT * FROM teste WHERE data1 BETWEEN '2012-06-01' AND '2012-06-15'
ou
SELECT * FROM teste WHERE data1 >= '2012-06-01' AND data1<= '2012-06-15'

Mas quando tenho 2 campos data com os nomes datainicial e datafinal como eu filtraria pelo intervalo dessas 2 datas?

Ex: Cadastro preço de quartos em um intervalo de datas por temporada.

Tabela datasdatemporada com os campos:iddatasdatemporada,dtinicial,dtfinal,temporadas_idtemporada

tenho os seguintes registros cadastrados:

1, '2012-04-15', '2012-04-30', 2

2, '2012-05-01', '2012-06-30', 2

3, '2012-07-01', '2012-07-31', 1

4, '2012-08-01', '2012-11-30', 2

5, '2012-12-01', '2012-12-31', 1

-------------------------------------------------------------------------------------

Eu quero filtrar pela data inicial e final.

Eu digito a data de chegada(aqui no formato do BD já): 2012-06-11 e

data de saída:2012-06-16

--------------------------------------------------------------------------------------

Na lógica teria que me retornar o intervalo

2, '2012-05-01', '2012-06-30', 2

mas não retorna nada. Perceba que o intervalo está entre

2012-05-01 até 2012-06-30

--------------------------------------------------------------------------------------

Como ficaria o código SQL correto para esse caso, sendo o nome da tabela

datasdatemporada?

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0
C entendi bem, já tentou assim:

select * from datasdatemporada where '2012-06-11'
between dtinicial and dtfinal
and '2012-06-16'
between dtinicial and dtfinal;

?

Agora o que você disse funcionou perfeitamente. Eu acho que era isso mesmo. É que tem que ser assim porque Quando vai cadastrar preço de quartos de hotel por temporada, tem que pegar as datas para saber se é alta,baixa ou alguma outra cadastrada e depois procurar na tabela de preços os preços que correspondem aquela temporada e assim multiplicar pelos dias escolhidos. Eu acho que é isso acima mesmo. Agora ele me retornou a linha que queria mesmo. Obrigado.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...