【发布时间】:2014-06-20 08:01:49
【问题描述】:
我有一个表,其中有 8 列,其中 2 列是 To 和 From 这些数据类型为日期时间。我想在这两个字段上使用一些过滤器执行选择查询。
现在看下面的例子
Record X = From "5 May" to "18 May"
Filter 1: from "5 May" to "5 May" … x should show
Filter 2: from "10 May" to "10 May" … x should show
Filter 3: from "1 May" to "1 May" … x should NOT show
Filter 4: from "19 May" to "19 May" … x should NOT show
Filter 5: from "18 May" to "18 May" … x should show
Filter 6: From "4 May" to "17 May" …. X should show
Filter 7: From "4 May" to "18 May" …. X should show
Filter 8: From "4 May" to "19 May" …. X should show
Filter 9: From "5 May" to "17 May" …. X should show
Filter 10: From "5 May" to "18 May" …. X should show
Filter 11: From "5 May" to "19 May" …. X should show
Filter 12: From "2 May" to "3 May" …. X should NOT show
Filter 13: From "20 May" to "25 May" …. X should NOT show
所以基本上逻辑是 如果过滤日期范围和数据库日期范围之间有共同的日期,则记录应显示在结果中。
你能帮帮我吗?看了这么多配置,我一头雾水。
【问题讨论】:
-
您确实应该通过将其作为实际的表格数据而不是这些解释列来更清楚地说明这一点。特别是考虑到您假定的数据类型。我假设你也只想要一个特定的年份,是吗?
-
Comparing date ranges 的副本(知道我在某处见过这些)。由于您似乎正在处理时间戳,我建议您使用独占上限 (
<),而不是 several reasons detailed on this blog post。
标签: sql sql-server filter where-clause select-query