Eu tenho um banco de dados PostgreSQL rodando em um servidor que tem seu fuso horário definido para o fuso horário da Índia (ou seja, UTC +5:30)
Eu tenho alguns dados em uma tabela que é criada assim:
CREATE TABLE "CLOUDDATA"
(
"CD_Tm_Obs" timestamp without time zone,
"CD_Avg_Cloud" double precision
)
Eu quero consultar os dados e obter os valores para um tempo específico. Minha entrada será um carimbo de data/hora Unix (ou seja, segundos de 1 a janeiro de 1970)
A única maneira de converter a hora unix para Timestamp que encontrei é esta:
select to_timestamp(TRUNC(CAST(1395036000 AS bigint)))
. Mas isso cria um timestamp com timezone. Meus dados estão em timestamp without time zone
, então não obtenho nenhum resultado.
Como converter uma hora unix para o Timstamp do PostgreSQL sem timezome?
Aqui estão algumas abordagens:
Simplifiquei sua consulta, pois você não deve precisar do
TRUNC()
, nem doCAST()
.Para referência, mais informações podem ser encontradas nos seguintes links:
Primeira consulta
Segunda consulta