我是一名数据分析师实习生,我的公司给了我一个任务,让我分析我们的帮助台在解决查询方面做得如何。我得到了查询何时创建和完成的数据,并创建了一个列,其中包含创建和完成查询之间的总小时数。问题是我要显示多少工作时间(上午8点到下午4点)来解决查询。我如何修改代码来考虑这一点?例如,如果查询开始于11.03.2021上午8:45,并在12.03.2021上午10:45完成,我的专栏显示它花了26个小时来解决,而在工作时间是10。现在我使用的是DATEDIFF函数。
可以使用DATEDIFF两次,一次以小时为单位度量开始和结束之间的时间,一次以天为单位计算时间。如果查询时间超过一天,则可以每天减去16个小时(下午4点到上午8点),如下所示:
DATEDIFF( <start_date>, <end_date>, HOUR ) - DATEDIFF( <start_date>, <end_date>, DAY ) * 16