基于与当前日期时间的比较删除数据

时间:2013-05-23 10:55:20

标签: sql sql-server-2008

我从表中删除数据时遇到问题..

我先详细解释一下。

看我有一张包含1000条记录的表

我还有一个包含两列的表

**circle - Chennai (present in both table)**
**starttime -- 23/5/2013 07:00:00:000**
**endtime -- 23/5/2013 09:00:00:000**

此表包含这样的数据......

现在的问题是当currentdatetime大于starttime并且currentdatetime小于endtime时我必须从第一个表中删除数据。我在CIRCLE的基础上做这个,这在两个表中都很常见。

如果Cicle是相同的,并且当前时间介于两个时间之间,那么我希望删除所有记录的特定圈...

我尝试了不同的方式..但没有任何作用......请各位帮助我......我将非常感谢你......

我从GETDATE()获取的CurrentDatetime ....当前日期的任何表中都没有列...

我已经尝试过这个......

DELETE A
FROM TABLEA A join TABLEB B
on A.CIRCLE=B.CIRCLE
WHERE GETDATE() > B.starttime and GETDATE() < B.endtime



 DELETE 
 FROM   S    

 FROM S   t
 INNER JOIN AutoClickDisableTimeline  tm
 ON  t.circle = tm.circle
 WHERE
 GETDATE() between tm.StartTime and tm.EndTime)

这里的表包含1000个数据...... Autoclickdisabletimeline表包含....

circle   starttime              endtime
chennai  23/05/2013 09:00:00:000    23/05/2013 18:00:00:000

1 个答案:

答案 0 :(得分:0)

DELETE A
FROM TABLEA A join TABLEB B
on A.CIRCLE=B.CIRCLE
WHERE GETDATE() > B.starttime and GETDATE() < B.endtime