sql - 在 Postgres 中,如何从给定的 TIMESTAMP WITH TIME ZONE 列中提取月份(根据特定时区)?

标签 sql database postgresql relational-database

我有一个名为 login_timestamp 的列,其类型为 TIMESTAMP WITH TIME ZONE

要检索此时间戳的月份,我会这样做:EXTRACT(MONTH FROM login_timestamp)

但是,我想检索特定时区(在我的例子中是巴基斯坦)的月份,但不知道该怎么做。

最佳答案

这方面的文档在 Date/Time Functions and Operators 下.在该页面上搜索“在时区”。

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

您可以使用 set session...set local... 更改单个 session 或单个事务的时区。例如,这会更改当前 session 的时区。

set session time zone 'Asia/Karachi';

关于sql - 在 Postgres 中,如何从给定的 TIMESTAMP WITH TIME ZONE 列中提取月份(根据特定时区)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44910952/

相关文章:

postgresql - Postgres jsonb 'NOT contains' 运算符

postgresql - 连接到 Azure Postgres 时服务器意外关闭连接

sql - 基于从另一个表中选择的值进行限制

database - 具有大量读写的海量数据的最佳数据存储

c# - 在 C# 中显示来自数据库的列表框中的项目

ruby-on-rails - rails 4 : new instance creation through form_for not working

sql - 是否可以在检查约束中引用整行?

html - 从数据库中填充的格式化表

mysql - 在 SQL 的一个输出中组合表值

mysql - 为什么给定的语法在 mysql 中有效?