SQL查找列大于一个月和特定日期的所有行

时间:2013-01-29 20:35:13

标签: sql-server-2008 tsql

我有3列ID | dateA | dateB

我怎么能说我想找到所有ID,其中dateB大于dateA,并且是第15天之后的下一个月

所以例如

ID|dateA|dateB
1|1/1/2013|2/20/2013
2|1/3?2013|2/26/2013
3|1/3/2013|4/12/2013
4|1/3/2013|2/5/2013

在这个例子中,它会找到结果1/2/3

1 个答案:

答案 0 :(得分:3)

这样的事情怎么样:

select *
from yourtable
where dateA < dateB
  and
  (
    dateadd(day, 14, DATEADD(month, DATEDIFF(month, 0, datea)+1, 0)) < dateb
  ) 

请参阅SQL Fiddle with Demo