Oracle 在sql developer中导入表时的日期格式
我正在尝试从csv文件导入详细信息,该文件是我通过BI Publisher查询从表中创建的 在查询中,我有一个日期格式的列:Oracle 在sql developer中导入表时的日期格式,oracle,date,oracle-sqldeveloper,Oracle,Date,Oracle Sqldeveloper,我正在尝试从csv文件导入详细信息,该文件是我通过BI Publisher查询从表中创建的 在查询中,我有一个日期格式的列: effective_start_date 1951-01-01T00:00:00.000+00:00 1901-01-01T00:00:00.000+00:00 现在,当我在excel中导入整个表时。如何在sql developer中导入日期格式为“DD-MON-YYYY”的数据 现在,表中很少有日期记录被改为空 此外,我的目标列格式在sql devleoper中
effective_start_date
1951-01-01T00:00:00.000+00:00
1901-01-01T00:00:00.000+00:00
现在,当我在excel中导入整个表时。如何在sql developer中导入日期格式为“DD-MON-YYYY”的数据
现在,表中很少有日期记录被改为空
此外,我的目标列格式在sql devleoper中不是可编辑的屏幕
CREATE TABLE TEST_LOAD ( id INT, effective_start_date DATE );
ID,EFFECTIVE_START_DATE
1,1951-01-01T00:00:00.000+00:00
2,1901-01-01T00:00:00.000+00:00
CSV:
CREATE TABLE TEST_LOAD ( id INT, effective_start_date DATE );
ID,EFFECTIVE_START_DATE
1,1951-01-01T00:00:00.000+00:00
2,1901-01-01T00:00:00.000+00:00
导入(SQL Developer 4.1.0.19):
CREATE TABLE TEST_LOAD ( id INT, effective_start_date DATE );
ID,EFFECTIVE_START_DATE
1,1951-01-01T00:00:00.000+00:00
2,1901-01-01T00:00:00.000+00:00
- 在“连接”面板中,右键单击表名并选择“导入数据…”
- 浏览到csv文件,然后单击“下一步>”
- 选择“插入脚本”作为插入方法,然后单击“下一步>”
- 单击“下一步>”接受默认的选定列
- 在列定义中,
旁边将有一个警告三角形,并显示“数据与列定义不兼容…”。将格式更改为EFFECTIVE\u START\u DATE
,然后单击“下一步>”YYYY-MM-DD“T00:00:00.000+00:00”
- 单击“完成”
- 这时会出现一个对话框,上面写着“任务成功并发送到工作表”
- 可选:在脚本上执行查找/替换操作,将
替换为
并选择正则表达式选项并执行“全部替换”CAST(to\u TIMESTAMP\u TZ($1,'YYYY-MM-DD“T”HH24:MI:SS.FFTZH:TZM')作为日期)
- 运行脚本(按
)F5
SELECT * FROM TEST_LOAD;
ID EFFECTIVE_START_DATE
-- --------------------
1 1951-01-01 00:00:00
2 1901-01-01 00:00:00
(日期的格式将取决于NLS设置。)您在数据导入向导的导入过程中做得如何?日期没有内在的格式,所以您实际上是在问如何将字符串转换为日期。时区是所有值的一部分吗?始终为“00:00:00.000+00:00”?Hi@AlexPoole-通过BI Publisher从Oracle Fusion到csv。通过sql开发工具从csv到表,但您在sql开发人员中到底在做什么?嗯,导入向导不喜欢您需要的格式,
YYYY-MM-DD“T00:00:00.000+00:00”
,获取“GDK-05021:date format not recognized”,即使生成的插入是有效的。如果您对时间不感兴趣,是否可以修改CSV文件创建以仅导出YYYY-MM-DD部分?实际上,在仅获取数据时,我将其转换为_char(生效开始日期,'DD-mon-YYYY'),然后导出CAST(到_TIMESTAMP_TZ(值,'YYYY-MM-DD“t”HH24:MI:SS.FFTZH:TZM')作为日期)