sql语句中如何表示在前系统时间前2个月的那天

我要删除某个表两个月前所有的数据。如今天是2013-05-25,要删除的是<'2013-03-25'日期之前的所有数据:usePOSdeletepos_saleswher... 我要删除某个表两个月前所有的数据。如今天是2013-05-25,要删除的是<'2013-03-25' 日期之前的所有数据:
use POS
delete pos_sales where operdate<'2013-03-25'

如果手动删除,自然可以手动输入下时间了,先如今有两个条件制约,一是操作的人经常忘记这些语句如何写,二来希望做个类似于批处理的文件,只要双击就自动执行,那就方便了。

等高手
1、时间如何写?
2、批处理怎么编?
当前系统时间
展开
 我来答
ll58204
推荐于2016-09-01
知道答主
回答量:24
采纳率:0%
帮助的人:17.8万
展开全部
use POS
delete pos_sales where operdate<convert(date,str(year(getdate()),4)+'-'+str(month(getdate())-2,2)+'-'+str(day(getdate())-1,2))
把它加到SQL维护计划里面每天1点执行一次就OK了方便省事
追问
感谢赐教!
这是返回的提示:
【服务器: 消息 243,级别 16,状态 1,行 2
类型 date 不是已定义的系统类型。

又该如何?
追答
use   POS
delete pos_sales where operdate<dateadd(month,-2,getdate())
governmentcn
2013-05-26 · 超过23用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:53.8万
展开全部
1、delete from where col<=sysdate-60
2、批处理有很多方式:
A、windows下的bat文件
B、linux的.sh文件
C、oracle数据库的存储过程或包
3、自动执行可以考虑
A、windows下的计划任务
B、linux下的计划任务
C、oracle数据库的JOB
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式