欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

oracle a time zone

張繼寶4分鐘前1瀏覽0評論

當我們處理不同時區(qū)的時間時,經(jīng)常會碰到一些麻煩。針對這種情況,oracle數(shù)據(jù)庫提供了一些日期和時間函數(shù),可以有效地解決不同時區(qū)時間轉換的問題。

Oracle數(shù)據(jù)庫中的TIMESTAMP WITH TIME ZONE數(shù)據(jù)類型可以在存儲時自動轉換為協(xié)調(diào)世界時(UTC) 進行存儲,并在讀取時轉換為時區(qū)。例如,如果在美國西部服務器上的數(shù)據(jù)庫中存儲了一個含有'2021-10-01 12:00:00'的時間戳 WITHTIMEZONE數(shù)據(jù)類型,那么它將在數(shù)據(jù)庫中存儲為'2021-10-01 19.00.00 UTC'。如果在同一天,一個位于澳大利亞的應用程序讀取該數(shù)據(jù),它將自動轉換為'2021-10-02 05:00:00',因為它在東部標準時間區(qū)。

SELECT TO_CHAR( FROM_TZ( TO_TIMESTAMP( '01-OCT-2021 12:00:00', 'DD-MON-YYYY HH24:MI:SS' ), 'America/Los_Angeles' ) 
AT TIME ZONE 'Australia/Sydney', 'DD-MON-YYYY HH24:MI:SS' ) AS NEW_TIME
FROM DUAL;

在上面的例子中,我們使用了FROM_TZ函數(shù)來將所選的時間戳'01-OCT-2021 12:00:00'轉換為適合于美國洛杉磯的時區(qū)。之后,我們通過ATTIMEZONE關鍵字顯式指定悉尼的時區(qū)。最后,我們將轉換后的時間戳以指定的格式顯示:'02-OCT-2021 05:00:00'。

另一個實用的函數(shù)是CURRENT_TIMESTAMP,它可以返回當前系統(tǒng)時區(qū)中的時間戳。我們可以使用該函數(shù)來確定數(shù)據(jù)庫服務器所處的當前時區(qū)。

SELECT CURRENT_TIMESTAMP FROM DUAL;

在此例中,我們可以得到類似于'19-JAN-22 03.05.11.609000 PM UTC +00:00'的時間戳。由于我們沒有指定時區(qū),因此數(shù)據(jù)庫使用其默認時區(qū)(UTC)。

我們還可以使用如下代碼來獲取全球的時區(qū)列表:

SELECT * FROM V$TIMEZONE_NAMES WHERE COUNTRY_NAME = 'United States';

在此例中,我們使用以下條件返回V$TIMEZONE_NAMES視圖中與美國相關的時區(qū)列表。

總之,Oracle數(shù)據(jù)庫提供了多種方法來處理不同時間區(qū)的時間戳。為了獲得準確的結果,請使用帶有時區(qū)信息的TIMESTAMP WITH TIME ZONE數(shù)據(jù)類型和帶有FROM_TZ和AT TIME ZONE函數(shù)的Oracle SQL日期和時間函數(shù)。