Consulta mysql data

3 respostas
Ziguifrid

Alguém já teve este problema?

A consulta

SELECT * FROM agendar_exame_medico WHERE data_agendada_agendar_exame_medico BETWEEN '12/07/2013' AND '30/07/2013'

Na tabela tem por exemplo 21/08/2013

E na lógica não era para trazer esta data, mas está trazendo.

Os campos de data não é date é varchar.

3 Respostas

drsmachado

Mas é claro que não vai funcionar.
Campo de data deve ser date ou timestamp, senão isso nunca vai sair da forma que você espera.

rodrigues_sis

Ziguifrid:
Alguém já teve este problema?

A consulta

SELECT * FROM agendar_exame_medico WHERE data_agendada_agendar_exame_medico BETWEEN '12/07/2013' AND '30/07/2013'

Na tabela tem por exemplo 21/08/2013

E na lógica não era para trazer esta data, mas está trazendo.

Os campos de data não é date é varchar.

entao como é varchar ele ta considerando a primeira posiçao e 2 ( da “varchar” 21/08…) está entre 1 e 3 ( das varchar “12/07…” e “30/07…” respectivamente)

mude seu campo para date

adriano_si

Há a possibilidade do amigo não poder alterar esse campo no Banco de dados por terem outros Ns Sistemas acessando essa mesma base devido a mesma ser legada?

Então use uma função MySQL que converterá seu varchar em date.

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

Abs [] e bons estudos.

Criado 12 de julho de 2013
Ultima resposta 12 de jul. de 2013
Respostas 3
Participantes 4