2009-04-29 97 views
24

任何人都可以帮助我删除比特定日期更早的数据。根据日期从表中删除

感谢

+0

澄清将帮助极大...也许让我们知道你是怎么知道的日期几岁,列格式和数据类型,是时候一个问题等 – AnonJr 2009-04-29 21:05:37

回答

42
delete from YOUR_TABLE where your_date_column < '2009-01-01'; 
4

这是非常模糊的。 你的意思是像在SQL:

DELETE FROM myTable 
WHERE dateColumn < '2007' 
18

这是30天及以上

DELETE FROM Table 
    WHERE DateColumn < GETDATE()- 30 
5

或Oracle版本删除数据:

delete 
    from table_name 
where trunc(table_name.date) > to_date('01/01/2009','mm/dd/yyyy') 
+0

问题有sqlserver标记 – 2009-04-29 20:59:53

+0

我的不好,我读了一个标签“sql”,对不起 – northpole 2009-04-29 21:08:12

5

你可以使用:

DELETE FROM tableName 
where your_date_column < '2009-01-01'; 

但保留记住,上面是真的

DELETE FROM tableName 
    where your_date_column < '2009-01-01 00:00:00'; 

DELETE FROM tableName 
     where your_date_column < '2009-01-01 11:59';