在导出数据时,我无法让SQL Developer(版本4.0.3.16)应用日期格式。我试图导出到SQL(即插入语句)。
我将NLS日期格式设置为DD-MON-RRRR HH24.MI.SS,如下所示:
实际查看工具中的数据似乎没问题,但是当它导出到SQL时,它会恢复为默认值,如下所示:
Insert into EMAIL_ADDRESS (EMAIL_ADDRESS_ID,USERID,ADDRESS,LAST_UPDATE_TS) values (100,'user','fake@email.org',to_date('24-AUG-08','DD-MON-RR'));
任何帮助?
谢谢!
答案 0 :(得分:1)
升级时间。
使用当前版本17.4 - 比版本4.0新版本4年 - 这可以按预期工作。
查询数据。
导出到INSERT。
转到剪贴板,然后将其粘贴回工作表...并检查日期格式,使其符合首选项。
NLS参数中定义的DATE格式,匹配。
如果您采取不同的方式,请随意回复您所看到的内容 - 有很多不同的方式来进行导出 - 但在处理DATE时,所有这些方法都应该在首选项中遵循NLS DATE FORMAT。
如果您无法升级,请尝试使用格式提示进行手动INSERT生成。
select /*insert*/ to_char(hire_date, 'DD-MON-YYYY HH24.MI.SS') hiredate from employees
;
答案 1 :(得分:1)
我从this official link下载了版本4.0.3(4.0.3.16.84)
具有DATE / TIMESTAMP / TIMESTAMPTZ列的表的导出工作正常:
SET DEFINE OFF;
Insert into TEST.DAT (X,D,T,TZ) values (
1,
to_date('23-FEB-2018 22.24.15','DD-MON-RRRR HH24.MI.SS'),
to_timestamp('23-FEB-18 10.24.15.662000000 PM','DD-MON-RR HH.MI.SSXFF AM'),
to_timestamp_tz('24-FEB-18 05.44.25.000000000 AM EUROPE/BELGRADE','DD-MON-RR HH.MI.SSXFF AM TZR')
);
也许您可以从Oracle的网站下载相同的版本?
该版本似乎包含错误修复。
答案 2 :(得分:0)
thanks so much for the help. I'm not sure 100% sure what happen, but I tried to reproduce the issue again today and it seems to be working as expected sans upgrade (or even a restart).
Thanks anyway!