因为我是新来的(来自比利时),而且在高级sql中没有经验。 希望你能帮我解决一个简单(但不适合我)的问题: 我有一个包含多个日期的多列的大表。 我想开发一个查询,我可以过滤所有行f.e.日期列a和日期列b之间的差异超过3个月(例如,可以是另一个值) 语法建议?谢谢
答案 0 :(得分:0)
通常,当您提出问题时,您应提供样本数据和所需结果。这个特殊问题相当普遍;可以给出一个相当通用的答案。
您通常会通过将三个月添加到一个日期并进行比较来实现此目的。像这样:
select t.*
from t
where t.a > dateadd(t.b, interval 3 month);
b
之后的b
位于select t.*
from t
where (t.a > dateadd(t.b, interval 3 month)) or
(t.a < dateadd(t.b, interval -3 month));
之后3个月。
如果您希望比较在或之后:
{{1}}