簡體   English   中英

在Postgres中,如何從給定的TIMESTAMP WITH TIME ZONE列中提取月份(根據特定的時區)?

[英]In Postgres, how do you extract the month (according to specific timezone) from a given TIMESTAMP WITH TIME ZONE column?

我有一列名為login_timestamp ,其類型為TIMESTAMP WITH TIME ZONE

要檢索此時間戳的月份,我將執行以下操作: EXTRACT(MONTH FROM login_timestamp)

但是, 我想檢索特定時區的月份(在我的情況下是巴基斯坦) ,但無法弄清楚該怎么做。

使用AT TIME ZONE構造:

SELECT EXTRACT(MONTH FROM login_timestamp AT TIME ZONE '-5');

-5是巴基斯坦的恆定偏移量。

細節:

文檔在日期/時間函數和運算符下 在該頁面上搜索“在時區”。

select extract(month from login_timestamp at time zone 'Asia/Karachi');

您可以使用set session...set local...來更改單個會話或單個事務的時區。 例如,這將更改當前會話的時區。

set session time zone 'Asia/Karachi';

嘗試在AT TIME ZONE申請。 演示版

select extract(month from cast ('2017-07-01 01:00+03' as TIMESTAMP WITH TIME ZONE) AT TIME ZONE '+08') as monthNo

退貨

    monthno
1   6

暫無
暫無

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

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