Desculpe caso não esteja no lugar certo !
Tenho uma tabela de contrato de aluguel de imóveis com varios campos, dentre eles o campo inicio(inicio do contrato) e um campo fim(fim do contrato) ambos do tipo date, minha duvida é: O usuário informa um periodo ano/mes(YYYY-MM) para buscar contratos cujo o periodo esteja entre inicio(YYYY/MM) e fim(YYYY/MM) , como faço para trabalhar esse select apenas com (YYYY/MM) ?
Obs: sou novato e não sei se expliquei direito, mas qualquer coisa tento explicar denovo !
Olá mendanha,
Você pode passar os parâmetros separadamente, ano e mês, no banco você faz a mesma coisa.
No meu blog explico como obter o mês e ano separadamente no MySQL e PostgreSQL, veja se ajuda.
Abraços.
Fabiano Abreu
Papo SQL | Um blog com tutoriais, dicas e truques sobre SQL
Obg pela ajuda PapoSql, ja havia achado seu blog, e me ajudou bastante porém, não sei como colocar somente ano/mes que o usuario selecionou para comparar com o inicio(ano/mes) entre o fim(ano/mes), vou dar um exemplo mais ou menos do que eu penso, mesmo sabendo que esta errado
SELECT idContrato_Aluguel,nome_descricao,dia_vencimento,valor_aluguel FROM contrato_aluguel INNER JOIN locatario ON contrato_aluguel.Locatario_id_Locatario = locatario.id_Locatario WHERE
'2013-06-01' BETWEEN inicio and fim
dessa forma eu seleciono somente contratos com o inicio no dia 01/06 porque estou mandando o dia do mes, mas eu gostaria de mandar só o mes/ano e não sei como colocar no select
Acho que no seu caso, especificamente, você não precisa procurar apenas considerando mês e ano.
Se pegar o últimodia do mês na data início e o primiero dia do mês na data fim, não resolve?
Por exemplo: o usuário digitou 2013-04
A query abaixo não serviria?
WHERE data_inicio <= '2013-04-30' AND data_fim >= '2013-04-01'
Opah Abel Bueno, sua query funcionou perfeitamente !, mas eu tenho uma duvida, se o usuário vai fornecer apenas 2013/04 eu não sei como eu jogaria essas duas datas na query. Obg
Muito Obrigado Abel estava a 2 dias nisso, iniciante é triste rs, vlw msm resolvi com o que vc me propôs.