2017-03-04 81 views
0

因为我是新来的(来自比利时),而且在高级sql中没有经验。 希望你可以帮我解决一个简单的(但不是我)问题: 我有一个包含多个日期列的大表。 我想开发一个查询,我可以过滤所有行f.e.日期列a和日期列b之间的差异超过3个月(例如,可以是其他值) 语法建议?谢谢Sql将日期列与条件进行比较

+7

我们可以原谅的新奇,但比利时? – Strawberry

+0

请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查询 – Strawberry

+1

有一天,我知道... :-) –

回答

0

通常,当您提出问题时,应提供样本数据和期望结果。这个特定的问题是相当通用的;有可能给出一个相当通用的答案。

您通常会在一个日期上添加三个月并比较它们。事情是这样的:

select t.* 
from t 
where t.a > dateadd(t.b, interval 3 month); 

这得到其中bb后3个月。

如果你想比较是后前:

select t.* 
from t 
where (t.a > dateadd(t.b, interval 3 month)) or 
     (t.a < dateadd(t.b, interval -3 month)); 
+0

谢谢,会尝试你的解决方案.... :-) –

+0

请问你是如此友善地介绍列,请不要在PHPMyAdmin:'Date_Preliminary_Report','Date_Final_Report'从 '2_raf_decomposed_from_jan_2016'(表) –

+0

解决方案使用“TIMESTAMPDIFF”,ty all! –