首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • sql2000定时删除特定表数据问题,谢谢! [已结贴,结贴人:kanerain1234]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kanerain1234
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-21 08:42:54 楼主
    表里面有时间字段,以下是删除5月份数据的语句
    delete from table where obtime between '2008050106' and '2008053121'

    怎么实现每个月的第一天,自动删除上一个月的数据?

    上面的例子就是,怎么一到6月1号就自动启动语句,删除5月份的数据。

    是不是要用作业实现?应该怎么弄?谢谢!
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mugua604
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 08:46:441楼 得分:0
    可以用作业!!

    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mugua604
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 08:47:342楼 得分:0
    写好一个存储过程,用作业一个月运行一次!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufeng4552
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 08:47:533楼 得分:0
    作业~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufeng4552
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 08:51:104楼 得分:0
    在作业里每月执行一次
    delete from table where obtime <getdate()
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zds1010
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 08:54:155楼 得分:0
    该回复于2008-08-24 09:51:40被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kanerain1234
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 09:38:066楼 得分:0
    引用 4 楼 wufeng4552 的回复:
    在作业里每月执行一次
    delete from table where obtime  <getdate()

    obtime  <getdate()
    这个意思是不是每到月初,就删除这个月之前的数据?

    如果我是要在8月份删除6月的数据,9月份删除7月的数据,这应该怎么做?

    就是每个月的月初只删除两个月前的那个月的数据
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wufeng4552
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 09:52:097楼 得分:20
    delete tb where convert(varchar(7),sktime,120)=convert(varchar(7),dateadd(mm,-1,getdate()),120)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kanerain1234
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 10:00:258楼 得分:0
    引用 7 楼 wufeng4552 的回复:
    delete tb where convert(varchar(7),sktime,120)=convert(varchar(7),dateadd(mm,-1,getdate()),120)


    谢谢,能解释下上面的这句吗?下面这句
    delete from tb where obtime between '2008050106' and '2008053121' 里面的时间字段obtime是个char类型

    我在试着执行delete from tb where obtime  <getdate() 这句的时候,出现了错误“从字符串转换为 datetime 时发生语法错误。”我知道是数据类型不匹配,该怎么转换?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kanerain1234
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 10:33:239楼 得分:0
    引用 7 楼 wufeng4552 的回复:
    delete tb where convert(varchar(7),sktime,120)=convert(varchar(7),dateadd(mm,-1,getdate()),120)


    正解,感谢备至!!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved