如何将oracle时间戳转换为postgres时间戳,我们在oracle数据库中有一个值,如下所示,
15-JUN-2014 01.00.00.0000 PM
我在postgres / Greenplum中存储了varchar。我如何在postgres中投射到时间戳,
需要输出如下,
15-06-2014 13.00.00.0000
24小时格式。
答案 0 :(得分:3)
时间戳是时间戳。它们使用内部表示来表示日期(包括时间)。但是您可以使用各种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中从字符串转换为日期。
答案 1 :(得分:0)
SELECT To_timestamp(event_timestamp,'DD-MON-YY HH12.MI.SS.SSSS AM.PM')::timestamp without time zone
FROM jiodba.ext_wfa_accounting_msg limit 1000;
请找到答案