【发布时间】:2016-02-29 23:50:51
【问题描述】:
我正在尝试将数据从 Oracle 数据库迁移到 SQL Server。该查询的日期无效,因此当我将它们放在 SQL Server 2012 中时,我想将它们更改为 NULL。我正在使用 SSIS,我正在尝试创建一个派生列来为我处理它,但我不能正确表达。
我的表达是:
[Date_Column] < 1900-01-01? NULL(DT_WSTR,50) : [Date_Column]
这不是我尝试的唯一语法,我也尝试过
[Date_Column] < "1900-01-01"? NULL(DT_WSTR,50) : [Date_Column]
[Date_Column] < (DT_DBDATE)1900-01-01? NULL(DT_WSTR,50) :[Date_Column]
还有很多其他的。
有没有更好的方法来做到这一点?
我对 PL/SQL 不太熟悉,但如果您有办法让我在查询中编辑它而不是使用转换,那就太好了!
另外,当我尝试使用 SSIS 将数据从 Oracle 迁移到 SQL Server 时,它会失败并抛出数据格式错误。我所做的只是将数据放入 SQL Server 中的临时表中(使用连接到 OLE DB 目标的 OLE DB 源)。数据类型只是DB_TIMESTAMP,但它不会完成。它只会加载 1/4 的数据。
谢谢!
【问题讨论】:
标签: sql-server oracle date ssis format