2016-03-21 17 views
0

Her satırda bir BookedMonth ve bir ReportingMonth vardır. ReportingMonth'un BookedMonth'dan 2 Ay daha büyük olduğu satırları döndürmek istiyorum.SQL DateDiff - bir tarih alanı başka bir tarih alanından 2 ay daha büyük olduğunda satır döndürür

ReportingMonth  BookedMonth 
2016-01-01 00:00:00 2015-11-01 00:00:00 
2016-01-01 00:00:00 2015-12-01 00:00:00 
2016-01-01 00:00:00 2016-01-01 00:00:00 

WHERE 

DATEDIFF,BookedMonth,ReportingMonth,2 
+0

kullandığınız DBMS? –

cevap

0

şey gibi:

select * from table where datediff(month, ReportingMonth, BookedMonth) > 2; 

EDIT'e

Ya da daha ... se burada aşağıdaki yorum:

select * from table where ReportingMonth > dateadd(month, 2, BookedMonth); 
+0

DATEDIFF öğesinin, sınır değerinin değişme sayısını, zaman aralığını değil, döndürdüğünü unutmayın. Örneğin, iki tarih sadece 1 gün olsa bile DATEDIFF (MONTH, '20160131', '20160201') = 1. – LeeG

+0

Evet, haklısın ... Bu durumda ... Düzenleme yöntemimi gör – mauro

+0

Teşekkür ederim. Her ikisi de tarih olarak çalışır her zaman her ayın 1'i olacaktır. –

İlgili konular