VB 数据库删除数据

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:48:57
数据库名称 tg.mdb 表名称 ui 字段 日期
现在如果找到符合 今天日期的往前推6个月的数据 如果超过范围就删除掉。。比如数据库数据日期 最早的是2009-1-1 今天是2009-9-9号 往前推6个月就是2009-3-9 那2009-1-1 到2009-3-9的数据就全部删除掉了。

delete from ui where 日期 between (select min(日期) from ui) and dateadd(m,-6,now())

以上,希望对你有所帮助!

说的不够明白呀,关键在于,你的数据库的表ui里,有没有标记日期的字段,
1.如果有,那就简单了,比如日期字段为rq,那么语句为:delete from tg.mdb where rq<='2009-3-9' 需要注意的一个地方是,数据中你的日期格式,和本语句的格式一定要一致,不然会出大问题的。比如数据库的表里的日期格式为YYYY-MM-DD;那么本语句里的‘2009-3-9’ 要改成‘2009-03-09’。
2.如果没有标记日期的字段,那么就不确定是否有方法了,不过一般建立表的时候,会做一个标志性字段,比如no int IDENTITY(1,1) not NULL 里的这个no(至少我是有这个习惯的)这样这个字段永远不会重复(哪怕删除之前的数据),会按数据生成的先后由小到大,如果你ui表有这样的字段,可以先找到2009-3-9的最后一条的no,然后 delete from tg.mdb where no<=刚刚找到的no
3.再不明白的话,Q我吧278156583

就是删除六个月以前的所有记录,是吧?

delete * from ui
where 日期 < DateAdd('m',-6,now)

可以查一下DateAdd函数的用法.

-6 表示是6个月前的,如果是3个月前的,就是 -3
如果3天前的,就是 DateAdd('d',-3,now)
3年前,就是 DateAdd('yyyy',-3,now)