如何将 oracle 时间戳转换为 postgres 时间戳,我们在 oracle 数据库中有一个值如下,
15-JUN-2014 01.00.00.0000 PM
我在 postgres/Greenplum 中存储为 varchar。我怎样才能转换为 postgres 中的时间戳,
需要输出如下,
15-06-2014 13.00.00.0000
作为 24 小时格式。
最佳答案
时间戳就是时间戳。它们使用内部表示来表示日期(包括时间)。但是您可以使用各种 formats 将时间戳与字符串相互转换.例如,如果您需要显示它们或为了将您的数据导出到需要某些特定表示的其他软件。
在以下 Oracle 代码中,我使用与您的第一个示例对应的格式将字符串转换为时间戳 ( TO_TIMESTAMP
)。然后我使用与您的第二个表示相对应的其他格式将该时间戳“转换回”字符串( TO_CHAR
):
-- Convert a string to a timestamp
WITH sample_data AS
(SELECT TO_TIMESTAMP('15-JUN-2014 01.00.00.0000 PM',
'DD-MON-YYYY HH12.MI.SS.FF4 PM') ts FROM DUAL)
-- Convert a timestamp to a string using a format corresponding
-- to "15-06-2014 13.00.00.0000"
SELECT TO_CHAR(ts, 'DD-MM-YYYY HH24.MI.SS.FF4') as result FROM sample_data;
生成(字符串):
result
15-06-2014 13.00.00.0000
请注意,您也可以使用(几乎?)完全相同的 date functions and formats 在 PostgreSQL 中将字符串转换为日期。 .
关于sql - 如何将 oracle 时间戳转换为 postgres?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26105374/