Sql 基于日历表的以秒为单位的营业时间函数

Sql 基于日历表的以秒为单位的营业时间函数,sql,sql-server,tsql,Sql,Sql Server,Tsql,我对这个论坛和T-SQL都是新手 我正在寻找一个函数,根据我的日历表以秒为单位计算营业时间。在我的日历表中,我有两列。第一列是日期和开放时间,第二列是日期和结束时间 我尝试了@Ezlo的解决方案 在他的解决方案中,当它是同一个日期时,它将时间加倍,例如,输出必须是75秒,然后是150秒。我希望能够在WorkTime(@StartDate DATETIME,@FinishDate DATETIME)这样的查询中调用该函数,同时它将通过我的日历表。startdate和finishdate必须是我作为

我对这个论坛和T-SQL都是新手

我正在寻找一个函数,根据我的日历表以秒为单位计算营业时间。在我的日历表中,我有两列。第一列是日期和开放时间,第二列是日期和结束时间

我尝试了@Ezlo的解决方案 在他的解决方案中,当它是同一个日期时,它将时间加倍,例如,输出必须是75秒,然后是150秒。我希望能够在WorkTime(@StartDate DATETIME,@FinishDate DATETIME)这样的查询中调用该函数,同时它将通过我的日历表。startdate和finishdate必须是我作为值放入其中的任何内容,即带有日期的列(datecreated、dateclosed)

Ie:具有1000行的查询,如此格式

情景1

TicketID:    111111
DateCreated: 2019-01-01 10:00:52
DateClosed:  2019-01-02 08:35:00
在检查我的日历表时,函数结果必须为300秒

情景2

TicketID:    111112
DateCreated: 2019-01-02 16:30:00
DateClosed:  2019-01-02 16:15:00
在检查我的日历表时,函数结果必须为900秒

情景3

TicketID:    111113
DateCreated: 2019-01-02 20:00:00
DateClosed:  2019-01-03 09:30:00
功能结果:3600秒

情景4

TicketID:    111114
DateCreated: 2019-01-05 20:00:00
DateClosed:  2019-01-07 09:00:00
功能结果:1800秒

日历表格

如你所见,我将1月1日的ie设置为08:30,因此它不计算时间(假期)。所以我有一套同样的假期安排

周末被排除在外见日历表,这样就排除了周末,时间从第一个工作日开始计算

我试过多次,但都没能如愿成功


希望各位大师能帮助我实现这一目标。

在搜索了几天这个论坛之后。我一直在寻找的答案可以在这里找到。

“我尝试过多次”至少显示一次尝试。你曾经搜索过吗?你有没有为此写过任何查询?你得到了什么输出?您想要什么输出?