如何在数据库中删除某一时间点之前的数据?

langzhiwang888 2009-10-26 10:15:58
如一个数据库中有多个表,现在想把所有表中某一时间点之前的数据全部删除?
例如:其中一个表中是2005年到2009年的数据,现在要删除20008年之前的数据,但是保留2008年之后的数据?其他表做同样的操作?
...全文
3355 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
langzhiwang888 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 navy887 的回复:]
引用 4 楼 langzhiwang888 的回复:
引用 1 楼 sql77 的回复:
SQL codeDELETE TBWHEREYEAR(TIME) <2008


对于许多表中没有时间列的怎么处理,并且如果有许多表的话一个个运行要命了啊!

没有时间列怎判断是哪个时间的数据?
无解。。
[/Quote]

查看系统时间可否?
navy887 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 langzhiwang888 的回复:]
引用 1 楼 sql77 的回复:
SQL codeDELETE TBWHEREYEAR(TIME) <2008


对于许多表中没有时间列的怎么处理,并且如果有许多表的话一个个运行要命了啊!
[/Quote]
没有时间列怎判断是哪个时间的数据?
无解。。
SQL77 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 langzhiwang888 的回复:]
引用 1 楼 sql77 的回复:
SQL codeDELETE TBWHEREYEAR(TIME) <2008


对于许多表中没有时间列的怎么处理,并且如果有许多表的话一个个运行要命了啊!
[/Quote]
没有时间列,怎么判断的?
dawugui 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 langzhiwang888 的回复:]
如一个数据库中有多个表,现在想把所有表中某一时间点之前的数据全部删除?
例如:其中一个表中是2005年到2009年的数据,现在要删除20008年之前的数据,但是保留2008年之后的数据?其他表做同样的操作?
[/Quote]
delete from tb where year(dt) < 2008
langzhiwang888 2009-10-26
  • 打赏
  • 举报
回复
UP希望大家来发言啊!!
langzhiwang888 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sql77 的回复:]
SQL codeDELETE TBWHEREYEAR(TIME)<2008
[/Quote]

对于许多表中没有时间列的怎么处理,并且如果有许多表的话一个个运行要命了啊!
--小F-- 2009-10-26
  • 打赏
  • 举报
回复
没有排序字段 难搞
有的话直接用删除语句删除
peterormike 2009-10-26
  • 打赏
  • 举报
回复
用带条件的删除啊,比如:
delete from table where time<'2008-1-1 00:00:00'
SQL77 2009-10-26
  • 打赏
  • 举报
回复
DELETE TB WHERE YEAR(TIME)<2008

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧