【发布时间】:2021-06-16 08:53:06
【问题描述】:
我在表 X 中有一个 text 列“A”,我想将其转换为表 Y 中没有时区的 timestamp 列。
如何在 PostgreSQL 中执行这种转换?
输入:表 X
| A (text) |
|---|
| 2006-08-30 21:30:00 |
| 21:30:00 |
所需输出:表 Y
| Output (timestamp) |
|---|
| 2006-08-30 21:30:00 |
| 21:30:00 |
【问题讨论】:
-
使用函数 to_timestamp(): postgresql.org/docs/current/functions-formatting.html 你应该解决真正的问题,不要以错误的数据类型存储数据。
-
日期是时间戳postgresql.org/docs/13/datatype-datetime.html的必填部分@第二个值的日期是什么?
-
我们没有得到第二行的日期,我们只有第二行的时间。在表中,我们在同一列中有带时间戳的行以及只有时间的行
-
您最好提供某个来源的日期值。否则
to_timestamp('21:00:00', 'HH24:mi:ss')== 0001-01-01 21:00:00 .. -
你不能那样做。时间戳具有日期组件。您要么提供时间组件,要么 Postgres 为您提供一个。
标签: sql postgresql postgresql-9.5