C#时间范围检查

时间:2013-09-20 18:17:18

标签: c# sql sql-server time timetable

我有一个非常难的问题。该计划是关于学校的时间表。我想在我的数据库中查找范围内的时间。我正在使用C#和MSSQL 2012.下面是我的数据库模式。

http://upic.me/show/47164036

  1. cr_id是教室ID。
  2. tch_id是teacher_id。
  3. std_gro是学生组ID。
  4. start_time是主题开始的时间。
  5. 结束时间是主题完成的时间。
  6. 小时是主题的一小时。
  7. subj_id是主题ID。
  8. day_set是当天的数字(ex 1 =星期一)。
  9. 我想检查主题,老师,学生和学生的重复,但我该如何检查呢?

    我试过了:

    第1步:

    select * from Action_Classroom where ((start_time <= 9) and (end_time > 9)) and dat_set = 2
    

    第2步:

    select * from Action_Classroom where (end_time between 9 and 9+x) and dat_set = 2 ; 
    

    在循环中,我将小时的值发送为x。

    但我无法弄清楚如何检查重复时间。

    如果有人为我提供一些例子,请告诉我,非常感谢你。

1 个答案:

答案 0 :(得分:0)

Select * 
from Action_Classroom as a join Action_Classroom as b
on a.cr_id = b.cr_id
and a.tch_id= b.tch_id
and a.day_set = b.day_set
and a.subj_id= b.subj_id
and a.start_time <= b.end_time
and b.start_time <= a.end_time