计算ssis中两个日期之间的时间差

JVG*_*GBI 4 sql sql-server expression ssis sql-server-data-tools

我有以下两列:

StartDate = 2017-01-01 00:00:00.000
EndDate = 2017-01-01 05:45:00.000
Run Code Online (Sandbox Code Playgroud)

我需要为派生列编写一个 SSIS 表达式来计算这两个日期时间之间的时间。输出应该是:

05:45:00.0000000
Run Code Online (Sandbox Code Playgroud)

谁能帮忙写一下这个表达式?

提前致谢!!

Yah*_*ufi 5

您可以使用DATEDIFF()函数来获取两个日期之间的差异。

\n\n

小时差

\n\n
DATEDIFF("Hh",[StartDate],[EndDate])\n
Run Code Online (Sandbox Code Playgroud)\n\n

分钟之差

\n\n
DATEDIFF("mi",[StartDate],[EndDate])\n
Run Code Online (Sandbox Code Playgroud)\n\n

分钟之差

\n\n
DATEDIFF("ss",[StartDate],[EndDate])\n
Run Code Online (Sandbox Code Playgroud)\n\n

建议返回 HH:mm:ss 的表达式

\n\n

您必须获得以秒为单位的差异,然后使用以下表达式

\n\n
RIGHT("000" + (DT_WSTR,3)(DATEDIFF("ss",@[User::StartDate],@[User::EndDate]) / 3600),3) + ":" + RIGHT("00" + (DT_WSTR,2)((DATEDIFF("ss",@[User::StartDate],@[User::EndDate]) % 3600) / 60)   ,2) + ":" + RIGHT("00" + (DT_WSTR,2)(DATEDIFF("ss",@[User::StartDate],@[User::EndDate])% 60),2)\n
Run Code Online (Sandbox Code Playgroud)\n\n

参考

\n\n\n