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))
我有一个客户想要显示特定日期 (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))