簡體   English   中英

像systimestamp()這樣的postgres中是否有任何等效函數

[英]Is there any equivallent function in postgres like systimestamp() of oracle

我正在研究從oracle到postgresql的數據庫遷移項目。 我需要從postgres讀取操作系統日期和時間。 在oracle中,systime()以日期類型數據返回系統日期時間,而systimestamp()返回timestamp類型數據,無論設置了time_zone變量如何。 但是在postgres中,current_date()和current_timestamp()始終給出相對於該數據庫的時區變量設置的結果。 同步時區變量(即set timezone ='utc')是一種方法,但我不希望更改我的時區變量。

我想要得到的只是我的系統的當前日期和時間(時區可以包括或不包括),就像在oracle中一樣。 任何pl / pgsql都會有所幫助。 謝謝

在Oracle和PostgreSQL中,數據類型TIMESTAMP WITH TIME ZONE不同。
Oracle將時間戳信息與時間戳存儲在一起,而PostgreSQL將時間戳存儲在UTC中,並在當前設置的時區中顯示(可通過SQL語句SHOW TimeZone )。

因此,函數在PostgreSQL和Oracle中返回的時間相同,但是以不同的方式顯示。 那通常應該沒問題。

如果您確實需要將時區信息與時間戳一起存儲,則必須使用單獨的字段來存儲時區信息。 然后,您可以使用AT TIME ZONE將時間戳轉換為該時區以進行顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM