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')
它是一样的。
对于T1
和T2
之间的相同格式,我该怎么办?
答案 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:这应该在您的首选项中找到。