time with time zone 如何转成 timestamp without time zone
时间: 2023-07-10 20:09:51 浏览: 190
PostgreSQL更新表时时间戳不会自动更新的解决方法
5星 · 资源好评率100%
可以使用 PostgreSQL 中的 `AT TIME ZONE` 和 `TO_TIMESTAMP` 函数将 `time with time zone` 转换为 `timestamp without time zone`。具体步骤如下:
假设你有一个名为 `my_table` 的表,其中有一个名为 `my_column` 的 `time with time zone` 类型的列。你可以使用以下 SQL 语句将其转换为 `timestamp without time zone` 类型:
```
SELECT TO_TIMESTAMP(my_column AT TIME ZONE 'UTC', 'YYYY-MM-DD HH24:MI:SS') FROM my_table;
```
在上面的 SQL 语句中,我们首先使用 `AT TIME ZONE` 将 `my_column` 转换为 UTC 时区的时间,然后使用 `TO_TIMESTAMP` 将其转换为 `timestamp without time zone` 类型。
如果你需要将 `timestamp without time zone` 转换为 `time with time zone`,可以使用相反的过程:
```
SELECT my_column AT TIME ZONE 'UTC' FROM my_table;
```
在上面的 SQL 语句中,我们首先将 `my_column` 转换为 UTC 时区的时间,然后使用 `AT TIME ZONE` 将其转换为 `time with time zone` 类型。
阅读全文