在Access中按日期删除

时间:2015-06-16 20:42:39

标签: ms-access

我有一个字段,其中包含日期,我需要做的是删除2年的日期,所以如果字段中的日期是6/16/2014 in将删除它,6 / 16/2013将保留它。有可能吗?

1 个答案:

答案 0 :(得分:0)

像这样的SQL查询应该可以做到这一点,删除6/17/2013之后或之后(我认为你正在寻找的东西)。

DELETE FROM MyTableName WHERE MyDateField >= #6/17/2013#

我发现使用>= #6/17/2013#而不是> #6/16/2013#更安全,因为经常指定一个没有时间的日期意味着那一天午夜,所以在6月16日午夜之后发生的任何事情仍然被认为是“在“并被删除。

此外,您可能希望在进行批量删除之前复制.mdb文件,以防万一。 : - )

如需进一步阅读,请查看 Office.com: Access SQL: basic concepts, vocabulary, and syntax

编辑:要自动使用今天的日期减去2年,查询将变为

DELETE FROM MyTableName WHERE MyDateField > DATEADD("yyyy", -2, DATE())

课程,也可能会删除2013年6月16日及之后的事件,而非2013年6月17日及之后的事件。如果这是一个问题,你可以使用嵌套的DATEADD语句调整它,一个减去2年,一个减去一天。

FMI:Access DATEADD() Function