[英]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.