我有一个基本上看起来像这样的查询,它包含在一个动态查询中以适应可以更改的表名。我在中间转换了日期函数,但它不喜欢最后的 LoadedDateTime 和 CallPlacedTime。我已经尝试了引用我能想到的那些行的每一个转换和组合。我怎样才能做到这一点?
DECLARE @sql_TotalDialsNewLeads nvarchar(1000) = N'
SELECT COUNT(*)
FROM ' + @tbl_CH + ' ch, ' + @tbl_CL + ' cl, ' + @tbl_DA + ' da
WHERE ch.IDENTITY = cl.IDENTITY
AND cl.CRMID = da.CRMID
AND CallPlacedTime BETWEEN ''' + CONVERT(varchar(30),DATEADD(HOUR,-@TimezoneOffset,@StartDate),126) + '''
AND ''' + CONVERT(varchar(30),DATEADD(HOUR,-@TimezoneOffset,@EndDate),126) + '''
AND Product = ''' + @Product + '''
AND Country = ''' + @Country + '''
AND DATEPART(DayOfYear,DATEADD(HOUR,-@TimezoneOffset,LoadedDateTime))
= DATEPART(DayOfYear,DATEADD(HOUR,-@TimezoneOffset,CallPlacedTime))'
EXECUTE(@sql_TotalDialsNewLeads);
谢谢,肖恩