Postgresql
使用來自另一列的轉換後的紀元時間戳更新記錄
我正在嘗試將一列(timestamp_epoch)中的紀元數據轉換為表中每條記錄的另一列(timestamp)中的合法時間戳。在閱讀 PostgreSQL 文件時,我似乎可以使用 to_timestamp() 函式執行此操作,但我收到一個錯誤,表明此函式不存在。
UPDATE table SET timestamp = to_timestamp(timestamp_epoch) AT TIME ZONE 'EST' WHERE timestamp IS NULL;
伺服器是 PostgreSQL 12.1,我使用 pgAdmin4 來執行查詢。當查詢執行時,我收到一個錯誤,表明該函式不存在,並且我可能需要添加顯式類型轉換……如果確實需要,我不知道如何正確執行。
ERROR: function to_timestamp(text) does not exist LINE 2: SET timestamp = to_timestamp(timestamp_epoch) ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. SQL state: 42883 Character: 56
感謝您將一列中的紀元數據轉換為另一列中的合法時間戳的任何幫助。
謝謝!
你
timestamp_epoch
是用數據類型定義的text
(這是“函式 to_timestamp( text ) 不存在”告訴你的)。您需要首先將您的文本值轉換為
bigint
:to_timestamp(timestamp_epoch::bigint) AT TIME ZONE 'EST'