Postgresql 将数据插入postgres表
我正在尝试插入从Oracle DB导出的csv文件中的数据。当我尝试在PGadmin上导入时。它因以下错误而失败 错误:类型时间戳的输入语法无效:“29-APR-18” 12.04.07.000000000 AM“上下文:复制合并的dtls作业日志,第1行,列开始时间:“2018年4月29日12.04.07.000000000 AM”Postgresql 将数据插入postgres表,postgresql,insert,timestamp,Postgresql,Insert,Timestamp,我正在尝试插入从Oracle DB导出的csv文件中的数据。当我尝试在PGadmin上导入时。它因以下错误而失败 错误:类型时间戳的输入语法无效:“29-APR-18” 12.04.07.000000000 AM“上下文:复制合并的dtls作业日志,第1行,列开始时间:“2018年4月29日12.04.07.000000000 AM” 注意:列Start\u time是使用timestamp数据类型创建的。从Oracle导出数据时使用不同的NLS\u timestamp\u TZ\u格式;更接近
注意:列Start\u time是使用timestamp数据类型创建的。从Oracle导出数据时使用不同的
NLS\u timestamp\u TZ\u格式
;更接近ISO格式的东西
以下是Belayer提供的SQL语句:
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD HH:MI:SS.FF TZH:TZM';
您可以发布一些示例数据吗?这看起来不像PostgreSQL默认接受的任何有效时间戳格式。可能需要先将数据转换成更标准的格式,或者作为文本导入,然后在PostgreSQL中转换。在Oracle中,执行“alter session set NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH:MI:SS.FF TZH:TZM';然后重新导出数据。谢谢;我无耻地将该语句合并到我的答案中。