我希望使用派生列转换获得 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,但在派生列转换((DT_R8)GETDATE())中转换为SSIS表达式时,这不起作用。
请指导我如何在SSIS中完成。
答案 0 :(得分:0)
尝试以下方法:
(DT_I4)DATEDIFF("Minute",(DT_DATE)BookingDate,(DT_DATE)DeliverDate)
另请注意,您可以在SQL Server 2008中使用以下内容。
SELECT DATEDIFF(minute, BookingDate, DeliverDate)