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

时间:2016-03-17 12:15:22

标签: 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开发人员,使日期格式为' DD-MON-YYYY'

现在几乎没有日期记录在表格中被视为空!

我的targer列格式也不是sql devleoper

中的可编辑屏幕

1 个答案:

答案 0 :(得分:2)

Oracle安装程序

CREATE TABLE TEST_LOAD ( id INT, effective_start_date DATE );

<强> CSV

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)

  • 在“连接”面板中,右键单击表名,然后选择“导入数据...”
  • 浏览到csv文件,然后点击“下一步&gt;”。
  • 选择“插入脚本”作为插入方法,然后单击“下一步&gt;”。
  • 点击“下一步&gt;”接受默认的选定列。
  • 在列定义中,EFFECTIVE_START_DATE旁边会有一个警告三角形,并会显示“数据与列定义不兼容...”。将格式更改为YYYY-MM-DD"T00:00:00.000+00:00",然后点击“下一步&gt;”
  • 点击“完成”
  • 这会打开一个对话框,说“任务成功并发送到工作表。”
  • (可选):使用to_date\(('.*?'), '.*?'\)替换CAST( TO_TIMESTAMP_TZ( $1, 'YYYY-MM-DD"T"HH24:MI:SS.FFTZH:TZM' ) AS DATE )的脚本执行查找/替换,然后选择正则表达式选项并执行“全部替换”。
  • 运行脚本(按F5)。

<强>输出

SELECT * FROM TEST_LOAD;

ID EFFECTIVE_START_DATE
-- --------------------
 1 1951-01-01 00:00:00
 2 1901-01-01 00:00:00

(日期格式取决于您的NLS设置。)