Consulta Parcial com Datas

0 respostas
samirrolemberg

Olá, possuo uma aplicação aonde se faz necessário o uso de consultas parciais de uma String.

Esta String será usada como parâmetro de busca num SELECT aonde ela filtra os dados por quaisquer ocorrências daquele valor informado em uma ou mais colunas da tabela.

vamos ao exemplo pra partir para a dúvida:

supondo a tabela Aluno no BANCO:

idAluno - int
matricula - varchar
nome - varchar
dataRegistro - date

para consultar tanto por nome quanto por matricula eu tenho:

select * from aluno as a  where a.matricula like '%?%' or a.nome like '%?%'

com isso, tenho uma consulta em que se o usuário informar ‘A’ como parâmetro ele trará resultados aproximados entre as colunas. (ou exatos dependendo dos registros)

MAS…

meu problema está com o campo data.

estou usando o SGBD MySQL 5 e olhei a documentação com os métodos/funções de data. Mas não compreendi muito bem, além de perceber que se quero retornar X registros de uma data Y eu tenho que passar como parâmetro sempre uma data completa (2011-01-01) e não uma String, ou data parcial (passar 2011 ou apenas 01).

Há algum modo de fazer essa consulta do date apenas como faço com os campos varchar?

e se não há algum modo de fazer algo semelhante ao que fiz com os métodos de tempo do MySQL sem passar uma data completa?

meu problema está em não querer criar um campo para consulta apenas de data. já que 90% das outras consultas/telas são feitas sem isso e a telá de consulta tem uma tabela Dinâmica/Genérica que abre conforme os parâmetros de um módulo x, ou y.

Criado 16 de novembro de 2011
Respostas 0
Participantes 1