如何删除指定日期段的记录 如我要删除 tb表 2004年8月5日 至 2006年10月25日的记录 SQL语句怎么写我是新手.还没分给.  :(

解决方案 »

  1.   

    delete from tb where columnname between '2004/8/5' and '2006/10/25'
      

  2.   

    delete from tb where 日期字段>= '2004-8-5' and 日期字段 <'2006-10-26'
    注意,红色的地方。
      

  3.   

    直接用between不太稳当,建议用datediff
    delete from tb where datediff(d,columnname,'2004-8-5') <= 0 and datediff(d,columnname,'2006-10-25') >= 0
      

  4.   

    delete from tb where convert(varchar(10), columnname, 120)>='2004-8-5' and convert(varchar(10), columnname,120)<='2006-10-25')
      

  5.   

    delete from tb where convert(varchar(13), columnname, 120)>='2004-8-5 22' and convert(varchar(13), columnname,120)<='2006-10-25 23')
      

  6.   

    declare @dt1 datetime,@dt2 datetime
    set @dt1='2005-01-01'
    set @dt2='2008-01-01'
    delete from table1 where convert(varchar(10),date,120) between @dt1 and @dt2