找回密码
 立即注册
搜索
查看: 944|回复: 3

SQL中如何删除指定日期前的记录???

[复制链接]

1678

主题

5167

回帖

9302

积分

荣誉版主

沉痛悼念小于……

积分
9302
发表于 2005-12-21 15:47:40 | 显示全部楼层 |阅读模式
用ASP+ACCESS写了个小网页,其中有一个日志功能,可以记录访客的IP和时间

但是又不希望日志占太多空间,所以想添加一个“删除3天前记录”的功能

其中的SQL语句我是这样写的:

conn.execute "Delete  from 日志 where 时间>"&now-3        出错

conn.execute "Delete  from 日志 where 时间>"&date-3        出错

conn.execute "Delete  from 日志 where 时间>20051221000000"      出错(全部记录被删除)

其中我的数据库里面的“时间”记录的是now()格式的数据,如图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
人似秋鸿来有信,事如春梦了无痕

42

主题

835

回帖

1167

积分

金牌会员

积分
1167
发表于 2005-12-21 19:40:55 | 显示全部楼层
看起来你的时间字段是字符型的,但从你第三句语句中又不是字符型,先假定你是字符型好了
你应该拼出一个yyyy-mm-dd hh:mm:ss格式的字符串
比如2005-12-21 15:20:14的三天前是2005-12-18 15:20:14那sql语句应该这样写:
delete from TABLE_NAME where 字段名 < "2005-12-18 15:20:14"
回复

使用道具 举报

1678

主题

5167

回帖

9302

积分

荣誉版主

沉痛悼念小于……

积分
9302
 楼主| 发表于 2005-12-22 12:48:49 | 显示全部楼层
安装你的意思

我应该这样写:

conn.execute "Delete  from 日志 where 时间<"&now

但是还是删不了啊
人似秋鸿来有信,事如春梦了无痕
回复

使用道具 举报

1678

主题

5167

回帖

9302

积分

荣誉版主

沉痛悼念小于……

积分
9302
 楼主| 发表于 2005-12-22 13:52:04 | 显示全部楼层
;19 谢谢
问题解决了

搜了很多资料

正确的写法应该是:

Conn.Execute "Delete From 日志 Where DateDiff('d',时间,now())>3"
人似秋鸿来有信,事如春梦了无痕
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-17 19:20 , Processed in 0.079439 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表