This is where I'm at right now with the code. It "works" but it isn't correctly calculating UTC time and is giving me a final result set that seems to be offset by 2 hrs in such a way that it is including records that were created 2 hrs before we opened, and all the way up until 2 hrs before we close. Pretty sure I know why, just need to go through the cases to test my case calculations.
SELECT
CONVERT(VARCHAR, A.CreatedDate, 108)
, *
FROM OPENQUERY([PRDREPORTS\PRD_COGNOS_RPT],'
SELECT
V.ID AS ''LeadID''
, V.Lead_Source_Code__C AS ''LSC''
, W.StateName
, V.CreatedDate
, StartTime__c
, V.Zip__C AS ''ZIP''
, CASE
WHEN W.DST = 1
AND V.CreatedDate BETWEEN X.DSTStart AND X.DSTEnd
THEN DATEADD(hh, (W.UTC*-1), V.CreatedDate)
WHEN W.DST = 1
AND V.CreatedDate NOT BETWEEN X.DSTStart AND X.DSTEnd
THEN DATEADD(hh, (W.UTC*-1)+1, V.CreatedDate)
WHEN W.DST = 0
THEN DATEADD(hh, (W.UTC*-1)-2, V.CreatedDate)
END AS ''UTCCreatedDate''
, CASE
WHEN W.DST = 1
AND Z.StartTime__C BETWEEN X.DSTStart AND X.DSTEnd
THEN DATEADD(hh, (W.UTC*-1), Z.StartTime__C)
WHEN W.DST = 1
AND Z.StartTime__C NOT BETWEEN X.DSTStart AND X.DSTEnd
THEN DATEADD(hh, (W.UTC*-1)+1, Z.StartTime__C)
WHEN W.DST = 0
THEN DATEADD(hh, (W.UTC*-1), Z.StartTime__C)
END AS ''UTCStartTime''
, CASE
WHEN V.CreatedDate BETWEEN X.DSTStart AND X.DSTEnd
THEN DATEADD(hh, 5, OpenHour)
ELSE DATEADD(hh, 6, OpenHour)
END AS ''UTCOpenHour''
, CASE
WHEN V.CreatedDate BETWEEN X.DSTStart AND X.DSTEnd
THEN DATEADD(hh, 5, CloseHour)
ELSE DATEADD(hh, 6, CloseHour)
END AS ''UTCCloseHour''
FROM [PRDREPORTS\PRD_COGNOS_RPT].[SalesforcePRD].dbo.Lead V
INNER JOIN [PRDSQLDM01\PRD_DMAIL].[Digital].dbo.DSU_Params_ZipCodes W
ON W.ZIP = LEFT(V.ZIP__c,5)
INNER JOIN [PRDSQLDM01\PRD_DMAIL].[Digital].dbo.DSU_Params_DST X
ON X.DSTYear = YEAR(V.CreatedDate)
INNER JOIN [PRDSQLDM01\PRD_DMAIL].[Digital].dbo.DSU_Params_HoursOfOperation Y
ON Y.DOW = DATEPART(dw, V.Createddate)
INNER JOIN (
SELECT
ROW_NUMBER() OVER(PARTITION BY Lead_ID__c ORDER BY StartTime__c) AS ''AttemptNumber''
, Lead_ID__c
, StartTime__c
FROM [PRDREPORTS\PRD_COGNOS_RPT].[SalesforcePRD].dbo.OutboundCall__c
WHERE
AttemptCount__c = 1
AND AttemptComplete__c = ''true''
AND Lead_ID__c IS NOT NULL
AND StartTime__c IS NOT NULL
) Z
ON Z.Lead_ID__C = V.ID AND Z.AttemptNumber = 1
WHERE
YEAR(V.CreatedDate) >= ''2015''
AND W.StateName NOT IN (''HI'', ''AK'')
AND CAST(V.CreatedDate AS date) NOT IN (SELECT CAST(Holiday AS date)
FROM [PRDSQLDM01\PRD_DMAIL].[Digital].dbo.DSU_Params_Holidays)
') A
WHERE
A.UTCCreatedDate
BETWEEN
DATEADD(DAY, 0, DATEDIFF(DAY, 0, CAST(A.UTCCreatedDate AS date))) + DATEADD(DAY, 0 - DATEDIFF(DAY, 0, A.UTCOpenHour), A.UTCOpenHour)
AND
CASE
WHEN CAST(DATEADD(hh, DATEDIFF(hh, UTCCloseHour, UTCOpenHour), UTCCreatedDate) AS date) > CAST(UTCCreatedDate AS date)
THEN DATEADD(DAY, 0, DATEDIFF(DAY, 0, CAST(A.UTCCreatedDate AS date))) + DATEADD(DAY, 0 - DATEDIFF(DAY, 0, A.UTCOpenHour), A.UTCOpenHour)
ELSE DATEADD(DAY, 0, DATEDIFF(DAY, 0, CAST(DATEADD(DAY, 1, A.UTCCreatedDate) AS date))) + DATEADD(DAY, 0 - DATEDIFF(DAY, 0, A.UTCCloseHour), A.UTCCloseHour)
END
ORDER BY CONVERT(VARCHAR, A.CreatedDate, 108)