Tenho uma tabela PostgreSQL com estes campos:
F1
:time without time zone
F2
:time without time zone
Então adicionei um campo calde
como "timerange" ( tsrange
).
Preciso atualizar a tabela e definir F1 e F2 como a tsrange
, mas recebo:
update Table1 set timerange=[F1,F2]
ERROR: syntax error at or near "["
Primeiro, não está claro se você quer um intervalo de horários (ou seja, algo como horário de funcionamento das 8h às 18h) ou um intervalo de carimbos de data/hora (algo como um jogo que começou em 11 de janeiro de 2025 às 20h e terminou às 22h do mesmo dia).
Se você precisa de um intervalo de carimbos de data/hora, a resposta é bem simples:
Se você precisar de um intervalo de tempo, a tarefa será mais complicada, porque o PostgreSQL não tem esse tipo incorporado. Mas não é tão difícil criar um tipo de intervalo de tempo:
Quando você cria esse tipo de intervalo, o PostgreSQL cria automaticamente uma função
trange(time, time)
que você pode usar para construir intervalos de tempo: