PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Adicionando coluna à tabela com valor da próxima linha


Basicamente, acho que você poderia apenas recuperar o timestamp no momento da consulta, não armazenando-o na tabela, mas se estiver executando essa ação e achar que é isso que você precisa:

Você precisa adicionar essa coluna à sua tabela:
ALTER TABLE tablename ADD COLUMN te timestamp;

Em seguida, execute uma atualização alimentando o valor com o uso de LEAD função de janela.
UPDATE tablename t
SET te = x.te
FROM (
  SELECT ts, lead(ts, 1) OVER (order by ts) AS te
  FROM tablename t2
  ) x
WHERE t.ts = x.ts

Aqui está um exemplo de como funciona usando dados inteiros de amostra:SQL Fiddle .

Ele irá executar exatamente o mesmo para timestamp valores de tipo de dados.