写了条语句,如下:
delete from dingshi where [Time] <=convert(varchar(50),dateadd(month,-6,getdate()),113)
我想放在作业里面定时每天删除6个月之前的数据,请问能吗?
其中数据表为dingshi,数据字段名为[Time],该字段类型是varchar(50)
请问能实现吗?
我在查询分析器里把delete改成select *,结果找不到改天6月份之前的数据,但是我直接查询dingshi表时(select * from dingshi order by Time desc),却发现了2011-7月份的数据
请问,我该怎么修改才能定时删除6月份之前的数据啊
各位大侠,求指点啊,我快郁闷死了
delete from dingshi where [Time] <=convert(varchar(50),dateadd(month,-6,getdate()),113)
我想放在作业里面定时每天删除6个月之前的数据,请问能吗?
其中数据表为dingshi,数据字段名为[Time],该字段类型是varchar(50)
请问能实现吗?
我在查询分析器里把delete改成select *,结果找不到改天6月份之前的数据,但是我直接查询dingshi表时(select * from dingshi order by Time desc),却发现了2011-7月份的数据
请问,我该怎么修改才能定时删除6月份之前的数据啊
各位大侠,求指点啊,我快郁闷死了
where datediff(month,[Time],getdate())>=6
where [Time]<=convert(varchar(50),dateadd(month,-6,getdate()),120) 试试
2011-7月 和 2012-07-01比较,前者的大,所以就没有筛选出来,如果你的是2011-07就可以了,字符串的比较是从第一个逐个比较的。
是这样的,因为我要做个定时删除作业,所以我得实现查询到6月份的数据,确定下条件没错 ,我才敢删除,现在我都查不到,郁闷啊
'2011-07-29 07:01:42.572'<=convert(varchar(50),dateadd(month,-6,getdate()),120)
是成立的啊,
再这样试试,转换下你的time字段,去掉时间,只保留日期。
where convert(varchar(50),dateadd(month,-6,[Time]),23)<=convert(varchar(50),dateadd(month,-6,getdate()),23)另外 print convert(varchar(50),dateadd(month,-6,getdate()),23) 看看是不是你机器时间有问题。
首先要保证Time字段的值都可以正常转换成datetime类型,如果有特殊值要先处理下。