【发布时间】:2018-03-23 16:52:45
【问题描述】:
我有一张带有月份和年份的表格:maintable
我想要的是范围选择: result
我认为 between 会是我的朋友,我尝试了以下方法:
SELECT jahr, monat, alles
FROM dbo.table
WHERE (jahr BETWEEN 2017 AND 2018) AND (monat BETWEEN 11 AND 2)
但这不起作用。 我怎样才能得到我想要的?
【问题讨论】:
-
BETWEEN边界必须在左侧具有较低的数字,在右侧具有较高的数字。如所写,您的第二个BETWEEN子句永远不会评估为真。您可以使用NOT BETWEEN,也可以使用IN子句 -
我知道重构数据结构通常不可行,但有一个特定的数据类型:
date。它会更适合这项任务。它将简化查询并(作为奖励)节省一点空间。 -
有了这个解决方案,我还得到了 2017 1 和 2017 2 的组合
标签: sql sql-server