Select em tabela com DATA

3 respostas
H

pessoal, tô fazendo um esquema de controle em que preciso fazer um select nos campos em que a data esteja entre duas datas distintas. Exemplo: de 01/11/2006 a 18/11/06… como posso fazer isso no mysql? ah, a entrada deve ser via string(textfield) ou combobox? qual a melhor saída?

3 Respostas

FieroddPJ

select * from tabela
where data >= ‘11/18/2006’ and data <= ‘11/20/2006’

ou

select * from tabela
where data between ‘11/18/2006’ and ‘11/20/2006’

a data deve ser no formato americano, eu imagino que deva funcionar assim no mysql

H

“Fierodd”:
select * from tabela
where data >= ‘11/18/2006’ and data <= ‘11/20/2006’

ou

select * from tabela
where data between ‘11/18/2006’ and ‘11/20/2006’

a data deve ser no formato americano, eu imagino que deva funcionar assim no mysql


o formato da data é esse aqui no SQL: 2006-11-21. Duas novas perguntas: Pra passar do Java pro SQL, devo colocar campos separados, ou perdir pro usuário digitar a data no formato ddmmaaaa e passar prum vetor, reordena-lo, adicionar o “-” e jogar pro SQL, ou colocar uma máscara na hora de inserir os dados já colocando os -?

FieroddPJ

vc pode usar um SimpleDateFormat
segue um exemplo!!!

import java.text.SimpleDateFormat;
import java.util.Date;

public class TesteSDF&#123;
     public static void main&#40;String&#91;&#93; args&#41; throws Exception&#123;
          SimpleDateFormat sdf;
          sdf = new SimpleDateFormat&#40;"yyyy-MM-dd"&#41;;
          String d = sdf.format&#40;new Date&#40;&#41;&#41;;
          System.out.println&#40;d&#41;;
          Date data = sdf.parse&#40;d&#41;; 
          System.out.println&#40;data&#41;;
     &#125;
&#125;

vc pode formatar a data da tela (21/11/2006) para uma data (java.util.Date, java.sql.Date) e entao formata-la de volta para a string no formato do banco de dados, não sei se é possivel fazer um select com o formato Date diretamente, mas se der melhor ainda, vc evita essas conversões desnecessarias

Criado 18 de novembro de 2006
Ultima resposta 19 de nov. de 2006
Respostas 3
Participantes 2