下面的查询

SELECT the_date FROM date_trunc('day', timestamp with time zone 
       '2001-01-1 00:00:00+0100') as the_date

结果

the_date
2000-12-31 00:00

有没有办法告诉date_trunc根据输入的时区进行日/月/年转换?

预计yields 为:2001-01-1 00:00+0100

推荐答案

您需要指定要在哪个时区显示

select
    date_trunc(
        'day',
        timestamp with time zone '2001-01-1 00:00:00+0100' at time zone '-02'
    ) as the_date;
      the_date       
---------------------
 2001-01-01 00:00:00

AT TIME ZONE

Postgresql相关问答推荐

"错误:无法创建用户:错误:关系\users\违反了非空约束

PostgreSQL中btree_gist索引涉及integer和tstzrange属性查询计划的问题

如何删除Devtainer之前创建的PostgreSQL数据库?

执行准备好的语句不返回数据

正在加载 pgAdmin 4 v7.4...同时打开 pgAdmin

对 Postgres 进行身份验证时如何使用自定义密码哈希算法?

PostgreSQL bytea 网络流量双倍预期值

将 postgres 从属提升为主 node

如何为基于复合类型的 Postgres DOMAIN 定义 CHECK 约束

转换数组类型

PostgreSQL 可以对数组元素有唯一性约束吗?

Mac psql/readline - 未加载库

postgresql 分组和内部连接

如何只允许一个表的一行?

SQL:列为某个值时的唯一约束

如何在 PostgreSQL 中插入多行

是否可以在 CSV 格式的 Postgres COPY 命令中关闭报价处理?

使用枚举与布尔值?

避免通过 JPA 将null值插入数据库表

在 OS X 上使用 Postgres.app 时如何将 psql 放在路径上?