如何使用派生列转换获取 SSIS 中两个日期之间的分钟数差异?
How do I get the difference in minutes between two dates in SSIS using Derived Column transform?
我想使用派生列转换获得 SSIS 中两个日期之间的分钟数差异。我在下面有一个有效的 SQL Server 2008 脚本,但我无法将其成功转换为派生列转换中的表达式。感谢任何帮助。
(floor((CONVERT(float, CAST(dm.DLVRY_DAT AS DATETIME)) - CONVERT(float, CAST(ch.BOOKING_DATE AS DATETIME))) * 24) * 60) +
(((CONVERT(float, CAST(dm.DLVRY_DAT AS DATETIME)) - CONVERT(float, CAST(ch.BOOKING_DATE AS DATETIME))) * 24 - floor((CONVERT(float, CAST(dm.DLVRY_DAT AS DATETIME)) - CONVERT(float, CAST(ch.BOOKING_DATE AS DATETIME))) * 24)) * 60)
SELECT CAST(GETDATE() AS FLOAT) --> 这在 SQL 中有效,但在派生列转换中转换为 SSIS 表达式时 ((DT_R8) GETDATE( )) 这不起作用。
请指导我如何在 SSIS 中执行此操作。
尝试以下操作:
(DT_I4)DATEDIFF("Minute",(DT_DATE)BookingDate,(DT_DATE)DeliverDate)
另请注意,您可以在 SQL Server 2008 中使用以下内容。
SELECT DATEDIFF(minute, BookingDate, DeliverDate)
我想使用派生列转换获得 SSIS 中两个日期之间的分钟数差异。我在下面有一个有效的 SQL Server 2008 脚本,但我无法将其成功转换为派生列转换中的表达式。感谢任何帮助。
(floor((CONVERT(float, CAST(dm.DLVRY_DAT AS DATETIME)) - CONVERT(float, CAST(ch.BOOKING_DATE AS DATETIME))) * 24) * 60) +
(((CONVERT(float, CAST(dm.DLVRY_DAT AS DATETIME)) - CONVERT(float, CAST(ch.BOOKING_DATE AS DATETIME))) * 24 - floor((CONVERT(float, CAST(dm.DLVRY_DAT AS DATETIME)) - CONVERT(float, CAST(ch.BOOKING_DATE AS DATETIME))) * 24)) * 60)
SELECT CAST(GETDATE() AS FLOAT) --> 这在 SQL 中有效,但在派生列转换中转换为 SSIS 表达式时 ((DT_R8) GETDATE( )) 这不起作用。
请指导我如何在 SSIS 中执行此操作。
尝试以下操作:
(DT_I4)DATEDIFF("Minute",(DT_DATE)BookingDate,(DT_DATE)DeliverDate)
另请注意,您可以在 SQL Server 2008 中使用以下内容。
SELECT DATEDIFF(minute, BookingDate, DeliverDate)