SSIS 日期和时间连接

SSIS Date and Time concatenation

我有一个客户想要显示特定日期 (1754-01-01) 但将当前时间转换为 SQL table 格式的 DateTime

我的平面文件中没有任何时间列可供参考,因此它将是系统变量中的 GETDATE() 或 @StartTime(除非有其他方法)。

我为此走了很多路,从 DT_DBTIMESTAMP 到日期的串联和格式化 GETDATE(),格式化 @starttime 和类似 (DT_DBTIME)试图从一开始就删除日期。我觉得我已经用尽了我对 SSIS 的了解。

我希望有人曾经遇到过这个问题或知道我该如何解决它。

您可以使用 DATEPART() 函数从当前日期中提取小时、分钟和秒。尝试将以下表达式添加到日期值,此表达式以以下格式从当前日期提取时间值 hh:mm:ss.

RIGHT("0" + (DT_WSTR,50)DATEPART("hh",GETDATE()),2) + ":" + RIGHT("0" + (DT_WSTR,50)DATEPART("mm",GETDATE()),2) + ":" + RIGHT("0" + (DT_WSTR,50)DATEPART("ss",GETDATE()),2))

整个表达式应如下所示:

(DT_DBTIMESTAMP)("1754-01-01 " + RIGHT("0" + (DT_WSTR,50)DATEPART("hh",GETDATE()),2) + ":" + RIGHT("0" + (DT_WSTR,50)DATEPART("mm",GETDATE()),2) + ":" + RIGHT("0" + (DT_WSTR,50)DATEPART("ss",GETDATE()),2))