ORA-01830:从PostgreSQL到Oracle格式的时间戳日期不正确

clj7thdc  于 2023-08-04  发布在  Oracle
关注(0)|答案(2)|浏览(97)

我在Postgresql中有以下Timestamp With Time Zone列值:

2011-09-13 07:38:01+00

字符串
我将其转换为Oracle在select:

select to_char(date_column, 'DD.MM.YYYY HH24.MM.SS') as date_column from table;


它与Oracle或NLS掩码所需的日期格式匹配。但是,在通过ETL过程将行插入Oracle时,会抛出以下错误:

ORA-01830: date format picture ends before converting entire input string


有什么想法可以正确修复转换?

6vl6ewon

6vl6ewon1#

在此查询中

select to_date(date_column, 'DD.MM.YYYY HH24.MM.SS') as date_column from table;

字符串
您有MONTHMINUTES的“MM”,请尝试切换到可接受的格式。据我所知,“MI”的使用时间为几分钟。这个可能会有帮助

SELECT TO_DATE(date_column, 'DD.MM.YYYY HH24:MI:SS') AS date_column FROM table;

cnh2zyt3

cnh2zyt32#

如果我假设date_column持有一个值2011-09-13 07:38:01+00,那么它的数据类型将是VARCHAR2。在这种情况下,您可以首先使用SUBSTR获得区域+00修剪,然后应用兼容格式的'to_date'应该给予一个日期。
select to_date(SUBSTR(date_column, 1, 19), 'YYYY-MM-DD HH24:MM:SS') as date_column from table;

相关问题