如何返回日期范围> = 2天的结果?

时间:2016-02-22 14:31:45

标签: sql sql-server tsql

我只需要提取日期跨度为2天或更多天的记录。我有超过8K的记录需要搜索。请问最好的方法是什么?我正在使用SQL Server 2014。

SQL Fiddle

如果SQL Fiddle不起作用:(我最近遇到了问题。)

create table #DD
    (
     Event varchar(100),
     ResponseBegin date,
     ResponseEnd date
    )

insert  into #DD
        (Event, ResponseBegin, ResponseEnd)
values  ('Det', '20150201', '20150202'),
        ('Adm', '20160201', '20160204'),
        ('MM', '20120201', '20120205'),
        ('Det', '20160201', '20160207'),
        ('Det', '20160201', '20160201')

数据

enter image description here

期望的结果

enter image description here

谢谢。

4 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

SELECT * FROM DD WHERE DateAdd(DAY, 2, ResponseBegin) <= ResponseEnd

答案 1 :(得分:0)

尝试

SELECT * FROM DD WHERE 
ResponseEnd <= DATEADD(day, 2, ResponseBegin)

答案 2 :(得分:0)

这可能有效:

SELECT * FROM DD WHERE ResponseEnd <= DATEADD(day, 2, ResponseBegin)

答案 3 :(得分:0)

 <table class="classA">
   <tbody>
      <tr>
         <td>
         </td>
      </tr>
      <tr>
         <td>
            <table>
               <tbody>
                  <tr>
                     <td>
                     </td>
                  </tr>
               </tbody>
            </table>
         </td>
      </tr>
   </tbody>
</table>