Filtro de Hora na consulta

Olá tudo bem?

Preciso implementar os filtros de “Hora Inicial” e “Hora Final” na consulta, porém os tipo permitidos nos parâmetros são somente: Numérico, Texto, Data, Combobox e Lookup.

É possível? Como proceder?

Obrigado.

Olá @robertotaffe, seja bem vindo a nossa comunidade!

Na Consulta, realmente não existe um tipo de parâmetro específico para Hora ou Data/Hora.

Neste caso, você tem essas alternativas:

Utilizar um campo Texto

Você pode utilizar um parâmetro do tipo Texto e adicionar o formato desejado como dica na Descrição ou no Tooltip do campo.

image

Neste exemplo, caso a hora estivesse salva neste mesmo formato no banco de dados, você poderia filtrar no comando SQL dessa maneira.

SELECT * FROM tabela
WHERE TO_TIMESTAMP(campohora, 'HH24:MI') 
      >= TO_TIMESTAMP('{?PARAM HoraInicial}', 'HH24:MI')
Exemplo em PostgreSQL.

Utilizar um Formulário

Você também pode adicionar a Consulta em um Formulário, e utilizar os campos de Data e Data/Hora do Formulário para passar os Parâmetro para a Consulta.

Neste caso, também seria necessário adicionar um botão para aplicar os filtros na Consulta, que chamaria a ação Atualizar Fonte de Dados dos Procedimentos.

Muito obrigado Daniel.

Discuti com meus colegas e acabamos criando um browser com um select das horas e minutos, de 00:00 a 23:59.
Na consulta eu chamo esse browser através de um combobox.

Segue o código do browser:

SELECT
    TO_CHAR(horaminuto,'HH24:MI') AS hora
FROM GENERATE_SERIES(('2022-01-01 00:00')::TIMESTAMP,('2022-01-01 23:59')::TIMESTAMP,'1 MINUTE') AS horaminuto
1 curtida