仅从SSIS中的DATETIME字段中提取/比较年份

时间:2015-01-22 05:37:07

标签: mysql sql sql-server datetime ssis

尝试检查日期时间列的派生列中是否有少于1754的年份..我的表达式

(YEAR([OffenseEndDate]) < 1754) ? (DT_DBTimeStamp)"1900-01-01 00:00:00" : [OffenseEndDate]

我不断收到错误。我还将错误传送到另一个文件,其中一些日期看起来像这样

0010-05-06 00:00:00

不明白为什么这种方法在SSIS中不起作用。我想要将年份少于1754的日期归零或仅输出1900-01-01。

1 个答案:

答案 0 :(得分:1)

尝试派生列代码:

(DT_I4)(SUBSTRING((DT_WSTR,20)[OffenseEndDate],1,4)) < 1754 ? (DT_DBTimeStamp)"1900-01-01 00:00:00" : [OffenseEndDate]