如何在ssis包2016中以毫秒捕获时间戳

问题描述 投票:2回答:2

如何捕获ssis包2016中的当前时间戳

我声明了一个变量并使用了表达式,但缺少毫秒

@currenttimestamp = (DT_WSTR,50)(DT_DBTIMESTAMP)@[System::StartTime]

我也想要几毫秒

谢谢

sql-server datetime ssis etl ssis-2016
2个回答
0
投票

当投射到(DT_DBTIMESTAMP2,3)时,问题得到了解决:

(DT_WSTR,50)(DT_DBTIMESTAMP2,3)GETDATE()

但是时间得到改变,因为它使用getdate()asit返回当前时间,我需要包开始时我用过以下

(DT_WSTR,50)(DT_DBTIMESTAMP2,3)@[System::StartTime] 

但毫秒数将达到.000

我是否必须在ExecuteSQLTask中使用getdate()并将该值赋给字符串变量。我是ssis的新手,请给出建议。


0
投票

在程序包开头的“执行SQL任务”中使用以下命令,该命令将为您提供程序包的准确开始时间。

SELECT CAST(GETDATE() as datetime2(6)) 'Date';
© www.soinside.com 2019 - 2024. All rights reserved.