Condição através de datas

(ramosinfo) #1

Tenho uma data incio e uma data fim, com MySQL, quero uma condição, mais ou menos assim:

SELECT COD_PROCESSO_SELETIVO, DESCRICAO
FROM processo_seletivo WHERE DATA_INICIO >= CURRENT_TIMESTAMP AND DATA_LIMITE <= CURRENT_TIMESTAMP
ORDER BY DESCRICAO

Este não está funcionando, como faria essa condição?

(ZooSP) #2

a data limite quem vai fornecer é o usuário?

(ramosinfo) #3

Resolvi com a função NOW() do MySQL, deixando assim:

SELECT COD_PROCESSO_SELETIVO, DESCRICAO
FROM processo_seletivo WHERE NOW() >= DATA_INICIO AND NOW() <= DATA_FIM
ORDER BY DESCRICAO

(waae) #4

ramosinfo…
só testa pra ver que se quando você colocar isso no ambiente de produção vai pegar a data do computador ou a data do servidor… É mais seguro considerar a data do Servidor, pois alguem pode adiantar ou atrasar a data do computador. E eu não lembro qual data o now() considera.

Eu uso o seguinte:
WHERE (campodata >= current_date) OR (campodata <= current_date)

assim mesmo alterando a data do computador, ele considera a data seu servidor.
Pra hora, pode-se usar o current_time

Bem… fica assim outra alternativa pra quem precisar!!