在Oracle的INSERT SELECT Query中,它被更改为DATE格式

时间:2017-02-14 05:28:28

标签: oracle

INSERT INTO T1 ( ..., CONTRACT_DATE)
SELECT ..., CONTRACT_DATE
  FROM T2
 WHERE ...

T1中,CONTRACT_DATE代表“2017-12-12” 但是在T2中,转移了'CONTRACT_DATE stands as ' 12-DEC-12`'。

如果我更改

之类的查询,则会发生事件
TO_DATE(TO_CHAR(CONTRACT_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD')

它是一样的。

对于T1T2之间的相同格式,我该怎么办?

1 个答案:

答案 0 :(得分:0)

看起来oyu有一个表格,其中日期为文字(例如VARCHAR),另一个表格格式为DATE。现在,您看到DATE字段的方式取决于您使用的工具。

我猜您应该使用SESSION参数:

Alter session set nls_date_format='YYYY-MM-DD';

E.g。如果您使用sqlplus

SQL> SELECT * FROM T1;
BA 14/06/2016
FM 31/05/2016
TP 15/06/2016

SQL>     Alter session set nls_date_format='YYYY-MM-DD';

Session altered.

SQL>  SELECT * FROM T1;
BA 2016-06-14
FM 2016-05-31
TP 2016-06-15

现在来自PLSQL Developer或其他IDE:这应该在您的首选项中找到。