我在数据库中为教授提供了schedule_tbl,并且有starting_time,ending_time和day列。我想做的是,如果我插入7:00:00到10:00:00的开始,则7:00:00-10:00:00的所有计数器都无效。
我的记录示例
starting_time ending_time day
7:00:00 10:00:00 Monday
插入
6:00:00 8:00:00 Monday
然后它必须是无效的。到目前为止,这是我的代码。
("SELECT * FROM schedule_tbl WHERE "' and starting_time >= '" & _
Me.dtpStart.Value.ToString("HH:mm:ss") & "' and ending_time <= '" & _
Me.dtpEnd.Value.ToString("HH:mm:ss") & "' and day = '" & ComboBox4.Text & "'", conn3)
它工作但仅在starting_time和ending_time之间的范围内。如果我输入 6:00:00作为starting_time 而 9:00:00作为ending_time ,则会将数据库添加到无效
答案 0 :(得分:1)
确定两个周期是否重叠的正确逻辑是第一个在第二个结束之前开始,第一个在第二个开始之后结束。获得重叠的逻辑如下:
glm.fit=glm(Status~Length+Right+Bottom+Top+Diagonal,data=bank,family=binomial,subset=1:100)
注意:您可能需要SELECT s.*
FROM schedule_tbl s
WHERE s.starting_time < $EndTime and
s.ending_time > $StartTime;
和>=
来解决您的问题,而不是严格的不平等。
答案 1 :(得分:0)
我的错误只是我的if else语句出现问题,而不是使用 OR 我编码 AND 现在正常工作。