Eu tenho um campo chamado time_range e é do tipo daterange.
minha mesa se chama feriados. Quero que todos os usuários estejam atualmente de férias. Como posso fazer isso com o tipo daterange?
Eu tentei isso, mas não funcionou.
SELECT time_range FROM holidays WHERE upper(time_range) > NOW() AND lower(time_range) < NOW()
o que você quer dizer com não funcionar?
de qualquer forma, presumo por que sua consulta não está funcionando porque existe a possibilidade de intervalo de tempo igual à data atual.
na sua consulta você deve colocar <= e >=.
Solução: SELECT intervalo_tempo FROM feriados WHERE superior(intervalo_tempo) >= AGORA() AND inferior(intervalo_tempo) <= AGORA()
ou você pode simplificar sua consulta SELECT time_range FROM holiday WHERE time_range @> NOW();