我需要CC代理的首次登录和上次退出报告,我有他们在轮班期间执行的每次登录和退出的信息(即退出午餐/烟雾/休息时间等)。
我们有以下转变:
S.No Shift Possible Login Possible Log Out
1. 08 – 04 8: 07 16:05
2. 10 – 06 10:03 18:09
3. 04 – 00 16:08 00:02
4. 06 – 02 18:04 02:01
5. 00 – 08 23:57 08:04
我有这个观点来收集相关信息如下:
此报告的问题在于,如果我生成的单日报告为 20/06/2016 ,那么我无法捕获有关Shift S.No的信息。 (3,4,5)因为有一天的变化。
例如:
代理登录日期/时间是: 20/06/2016 18:10
和
代理退出日期/时间为: 21/06/2016 02:05
我需要一些类似于Interval列的地方,其中一天从 20/06/2016 03:00 开始,一天结束于 21/06/2016 03:00 如何实现这个间隔?或者,如果您对此报告要求有任何其他想法。
答案 0 :(得分:0)
如果我理解正确,根据您在那里显示的视图,您需要为所有正在处理的人提供数据,例如 20/06/2016 ?如果是这样,我相信你可以从视图中选择所有
的人CAST(FirstLogin AS date) = '20160620'
如果您还需要包括那些开始 19/06/2016 并在 2016年6月20日上结束的人,那么您也会这样做< EM> LastLogOut
此外,如果您要将其作为动态查询编写,例如,如果您需要为昨天提供报告,则可以替换where子句中的 20/06/2016 与
CAST(DATEADD(day, -1, GETDATE()) AS date)