【发布时间】:2014-08-26 01:42:58
【问题描述】:
destination int 值是 [columndate] - getdate
Create table Source_Table ( [Valyyyymmdd] [nvarchar](24) NULL )
Create table Destination_Table ( [DestColumn] [int] NULL )
Insert into Source_Table (Valyyyymmdd) values
(20130503),(20120403),(00000000),(20110523),(20100715)
我想用 getdate() 来区分 所以我在我的源代码中使用了下面的 SQL 查询 预期结果 SQL
SELECT DATEDIFF(DAY, CASE WHEN ISDATE(Valyyyymmdd) = 0 THEN getdate() ELSE Valyyyymmdd END , getdate()) as DestColumn
FROM dbo.Source_Table
目标列 479 874 0 1190 第1502章
但我需要获取 Valyyyymmdd 并执行 ssis 派生列以获取导致 int 值的日期差异。
我尝试如下
((DT_WSTR,24)DestColumn == "00000000" ? GETDATE() : (DT_DBDATE)(SUBSTRING((DT_WSTR,10)DestColumn,1,4) + "-" + SUBSTRING((DT_WSTR,10)DestColumn,5,2) + "-" + SUBSTRING((DT_WSTR,10)DestColumn,7,2)))
【问题讨论】:
-
你能给出一个样本结果集吗?
-
我需要表达式来返回 Int ,这是我使用上面的 SQL 查询实现的
-
这是怎么回事?
-
源中有一个日期字段,考虑到今天使用 SSIS 的日期,我需要将日期差异放入目标表中,同时考虑到今天的日期
标签: ssis