繁体   English   中英

年初至今-考虑到上一年记录中的时间戳和日期

[英]YoY & YTD - Taking into account the timestamp, as well as date, on records in the previous year

我的问题是,我需要在WHERE子句中进行哪些更改,以便SP能够考虑到CreatedDate字段中的时间戳以及日期本身。 例如...如果报表今天在今天下午1点运行,则只会带回去年[2015]这个时候今天下午1点之前的记录,并且显然会带回迄今为止在2016年创建的所有记录。 目前,2015年将所有记录恢复到一天结束。 任何帮助将非常感激。 克莱尔

@CreatedFrom15 DateTime = NULL,
@CreatedTo15 DateTime = NULL,
@CreatedFrom16 DateTime = NULL,
@CreatedTo16 DateTime = NULL,


SELECT

BookingID,
CreatedYear,
CreatedDate,
NightDuration,
HolidayCost,
TRAVPropertyTypeCategory

FROM Vw_TRAVLodgeResortGlampingFinancialByNights

WHERE 
((CreatedYear = DATEPART(YEAR,GETDATE())-1 AND CreatedDate BETWEEN @CreatedFrom15 AND @CreatedTo15) AND (CreatedDate  >= @CreatedFrom15 OR @CreatedFrom15 IS NULL) AND (CreatedDate <= @CreatedTo15 OR @CreatedTo15 IS NULL)
OR
(CreatedYear = DATEPART(YEAR,GETDATE()) AND CreatedDate BETWEEN @CreatedFrom16 AND @CreatedTo16) AND (CreatedDate  >= @CreatedFrom16 OR @CreatedFrom16 IS NULL)AND(CreatedDate <= @CreatedTo16 OR @CreatedTo16 IS NULL))

您可以指定参数的日期吗? 无论如何,对年份的引用似乎是不必要的,并且您还可以在像这样的之间包含空值-其中,isull(@ createdFrom16,'20160101')和isull(@ CreatedTo16,'20161231')之间的CreatedDate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM