Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 在sql developer中导入表时的日期格式_Oracle_Date_Oracle Sqldeveloper - Fatal编程技术网

Oracle 在sql developer中导入表时的日期格式

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中

我正在尝试从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中不是可编辑的屏幕

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')作为日期)