这似乎是一个愚蠢的问题,你可能是对的。
我们有一个tsql
作业,每天在 5:30 AM AST 运行,从当天下载Oracle数据并插入Items_Sold
28
Date_Insert
12/12/2017 3:52:57 AM -06:00
Date_UTC
12/12/2017 7:00:00 AM
DateTime_Zone
12/12/2017 3:00:00 AM -04:00
SalesDate
12/12/2017 3:00:00 AM
表。我通常下载的Oracle中的一行如下所示:
Date_Insert
作业成功运行但未下载此特定行。考虑到-06:00
的偏移量为Data Flow Task
小时,我认为在作业运行时数据不可用。我不知道Oracle服务器在哪里。
这是我用于SELECT
SalesDate, Items_Sold
FROM ORACLE_TABLE
where
SalesDate >= trunc(sysdate)
的Oracle查询。问题不在于查询,因为这已成功运行了几个月。我只是将其发布为FYI:
<mat-paginator #paginator
[length]="100"
[pageSize]="10"
[pageSizeOptions]="[5, 10, 25, 100]">
</mat-paginator>
感谢。
答案 0 :(得分:2)
这不是一个愚蠢的问题。时区真的很混乱!这是一组代码,可以帮助您解决问题。我“认为”这解释了你的假设是正确的,“工作运行时数据不可用”。如果我根据您的问题和信息做出了一些不正确的假设,那么这个以及我所包含的示例可能会让您开始。快乐的编码!
SQL 2016 has a really cool AT TIME ZONE feature这会使这更容易,fyi。
DECLARE @timestamp_ast DATETIMEOFFSET = N'12/12/2017 00:05:30:00 AM -4:00'
, @timestamp_oracle DATETIMEOFFSET = N'12/12/2017 00:03:52:57 AM -06:00';
SELECT @timestamp_ast AS [timestamp_ast]
, @timestamp_oracle AS [timestamp_oracle];
SELECT datediff(minute, @timestamp_ast, @timestamp_oracle) AS [minutes_difference];
-- example - if first timestamp is before, there is a [positive_minutes_difference]
SELECT datediff(minute, N'00:01:00', N'00:02:00') AS [positive_minutes_difference];
-- example - if first timestamp is after, there is a [negative_minutes_difference]
SELECT datediff(minute, N'00:03:00', N'00:02:00') AS [negative_minutes_difference];