【发布时间】:2016-06-13 21:48:23
【问题描述】:
我的 SQL Server 2008 数据库中有以下日期:06-24-1881 00:00:00:000 作为DOB,它存储为datetime。
我需要将此数据复制到我们的 Oracle 11g 数据库中,据我了解,Oracle 不接受毫秒到 Datetime 列。对于 1900 年之后的数据,我将数据转换为 smalldatetime 并且它有效,但对于这段数据,它不会转换为 smalldatetime,因为它不允许 1900 年 1 月 1 日之前的日期。
如何将多行数据放入我的 Oracle 数据库?
我试过这个:
left(DOB, 19) as DOB
但这将数据呈现为“Jun 24 1881 12:00AM”,所以我尝试插入:
to_date('Jun 24 1881 12:00AM', 'MON-DD-YYYY HH:MI:SSAM')
这也没有用。我被困住了,需要帮助。
【问题讨论】:
-
“将日期呈现为”是什么意思?如果您能够将日期作为日期时间“传输”到 Oracle 中,则它通过会话 NLS_date_format 的“呈现”是无关紧要的,Oracle 中的内部(存储)日期时间格式是唯一的,它也包含秒数,并且没有 AM 后缀;这些仅在显示日期时添加。
标签: sql oracle sql-server-2008