Pergunta

Eu tenho um problema MySQL. (Eu uso PHP com ele).

Por exemplo, eu tenho esse tipo de banco de dados:

Nome | Iniciado e | vai acabar
Jason | 2009-12-17 | 2009-12-24
Ericke | 2009-12-12 | 2009-12-30
Maria | 2010-01-02 | 2010-01-10

Com a pergunta do MySQL (ou PHP), eu gostaria de obter os nomes das pessoas, que estão "em" agora (2009-12-19).

A resposta deve ser:
Jason
Ericke

Obrigado pela sua grande ajuda antecipadamente!

Foi útil?

Solução

Que tal uma consulta em que você compare datas?

Algo assim, suponho, deveria fazer:

select name
from your_table
where started <= curdate() 
    and will_end >= curdate()

Notas :

  • Você precisará ajustar os nomes da tabela e colunas, é claro
  • E talvez você queira usar > e < ao invés de >= e <= ; depende de seus dados.
  • Eu uso o curdate() Função, que obtém a data do dia atual - eu gosto mais do que injetar a data na consulta usando algum código PHP.

Outras dicas

SELECT *
  FROM `table`
 WHERE CURDATE() BETWEEN `startdate` AND `enddate`
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top