Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Busca ou consulta com BETWEEN and NOT BETWEEN MySQL

24-03-2014 11:48

No MySQL, se tempos um campo no formato datetime, podemos facilmente fazer consultas baseados na data.

É possível fazer uma consulta, para saber se a data que estamos informando, está entre duas datas no banco de dados, ou, fora delas.

Por exemplo, vamos supor que temos a seguinte linha em uma banco de dados no bd.

id - data_entrada - data_saida
1 | 2014-03-20 | 2014-03-27

Usando o datetime, a data fica no formato: aaaa-mm-dd

Então no exemplo acima, o script vai do dia 20 até 27 de março de 2014.

Se queremos fazer uma consulta, para obter as linhas da tabela que tem valores dentro da data que passamos, fazemos o seguinte:

SELECT id, data_entrada, data_saida FROM nossatabela WHERE '2014-03-23' BETWEEN data_entrada AND data_saida

Como observado, passei uma data que está entre as datas gravadas da linha de exemplo, retornando essa linha.

É possível também usar o NOT BETWEEN, onde iremos buscar os resultados fora das datas gravadas.

SELECT id, data_entrada, data_saida FROM nossatabela WHERE '2014-03-23' NOT BETWEEN data_entrada AND data_saida

1
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado