我有一个事件数据库,我想作一个每天的时间表。 看起来如下:
+-----+-----+---+--------+
|Event|Start|End|Duration|
+-----+-----+---+--------+
|A |08 |10 |2 |
+-----+-----+---+--------+
|B |09 |10 |1 |
+-----+-----+---+--------+
|C |13 |15 |2 |
+-----+-----+---+--------+
我想查询所有在9点举行的事件,但是我无法弄清楚计算时间的背后的数学原理。 对于此示例,查询应返回A和B。我试过了: 开始+持续时间> 9,然后开始<= 9,但这不正确...
请帮忙吗?
答案 0 :(得分:0)
您想要的where
子句:
where start <= 9 and end > 9
也就是说,如果某事物在9处开始或在9之前结束,并在9之后结束,则发生在9处。(如果希望包含以9结束的事物,只需将>
更改为>=
)
我注意到您的前导零。这表明这些值存储为字符串。在这种情况下,请进行字符串比较:
where start <= '09' and end > '09'