【发布时间】:2012-07-06 17:44:24
【问题描述】:
非工作时间计算
一个非工作时间的日历定义如下,这里的 WeekNumber 从 1 = 星期一到 5 = 星期五
CalendarId WeekNumber StartTime EndTime
600 1 1900-01-01 00:00 1900-01-01 08:00
600 1 1900-01-01 18:00 1900-01-01 23:59
600 2 1900-01-01 00:00 1900-01-01 08:00
600 2 1900-01-01 18:00 1900-01-01 23:59
600 3 1900-01-01 00:00 1900-01-01 08:00
600 3 1900-01-01 18:00 1900-01-01 23:59
600 4 1900-01-01 00:00 1900-01-01 08:00
600 4 1900-01-01 18:00 1900-01-01 23:59
600 5 1900-01-01 00:00 1900-01-01 08:00
600 5 1900-01-01 18:00 1900-01-01 23:59
我想将此日历应用于另一个名为 events 的表,以查找这些日期和时间的记录?
编辑
事件表结构如下
EventID StartDateTime TotalTimeInSec WeekNumber
1 2009-07-05 07:44 100 1
2 2009-07-05 08:40 200 1
3 2009-07-05 09:35 150 1
4 2009-07-05 10:37 200 1
5 2009-07-05 19:37 200 1
6 2009-07-05 20:37 200 1
所需的输出将在应用日历之后
EventID StartDateTime TotalTimeInSec WeekNumber
1 2009-07-05 07:44 100 1
5 2009-07-05 19:37 200 1
6 2009-07-05 20:37 200 1
【问题讨论】:
-
@Anoop 你能发布事件的结构吗,为了在两个表之间进行比较,你需要这些表之间的一个公共列。
-
@Viswanathan Iyer 结构已发布。
标签: sql sql-server-2005 datetime