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、批处理怎么编?
当前系统时间 展开
use POS
delete pos_sales where operdate<'2013-03-25'
如果手动删除,自然可以手动输入下时间了,先如今有两个条件制约,一是操作的人经常忘记这些语句如何写,二来希望做个类似于批处理的文件,只要双击就自动执行,那就方便了。
等高手
1、时间如何写?
2、批处理怎么编?
当前系统时间 展开
2个回答
展开全部
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了方便省事
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())
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询