我在2台机器上导入了相同的dbdump。当我执行一个sql时,我看到了两个不同的值。
select struct_doc_id, START_DATE, END_DATE from structured_doc where struct_doc_id = 1329 order by START_DATE;
Machine1:
1329 31-03-11 09:00:00.000000000 PM 01-01-16 08:59:59.999000000 PM
1329 01-04-11 12:00:00.000000000 AM 31-12-15 11:59:59.999000000 PM
机器2:
1329 01-04-11 12:00:00.000000000 AM 31-12-15 11:59:59.999000000 PM
1329 01-04-11 12:00:00.000000000 AM 31-12-15 11:59:59.999000000 PM
另外,我执行了sql:
select dbtimezone, sessiontimezone, systimestamp, current_timestamp
from dual;
并且两台机器上的结果都是:
机器1:
-07:00 Asia/Calcutta 09-02-16 02:15:55.422190000 AM -08:00 09-02-16 03:45:55.422204000 PM ASIA/CALCUTTA
机器2:
-07:00 Asia/Calcutta 09-02-16 05:23:20.703408000 AM -05:00 09-02-16 03:53:20.703418000 PM ASIA/CALCUTTA
注意:我在2台不同的计算机上运行了2个数据库。
任何人都可以告诉我在运行第一个sql时值的差异可能是什么原因?
答案 0 :(得分:0)
我可以看到它可能是一个原因: 检查列 structured_doc 的数据类型是这样的: “timestamp”或“带有本地时区的时间戳”,“带时区的时间戳”。
Oracle将根据客户端的会话属性自动调整提供的日期。 我猜你是在一个数据库中远程执行导入,而在另一个数据库中本地执行导入。
最好的问候