SQL语句 如何删除指定日期段的记录

johntl 2008-04-02 10:23:06
如何删除指定日期段的记录 如我要删除 tb表 2004年8月5日 至 2006年10月25日的记录 SQL语句怎么写

我是新手.还没分给. :(
...全文
1003 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
johntl 2008-04-15
  • 打赏
  • 举报
回复
呵呵这里就是好.很多高手回复. 谢谢你们
JJkukow 2008-04-04
  • 打赏
  • 举报
回复
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
zhang_yugang 2008-04-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 iamltd 的回复:]
直接用between不太稳当,建议用datediff

SQL codedeletefromtbwheredatediff(d,columnname,'2004-8-5')<=0anddatediff(d,columnname,'2006-10-25')>=0
[/Quote]
用这吧!
wynlc 2008-04-04
  • 打赏
  • 举报
回复
delete from tb where convert(varchar(13), columnname, 120)>='2004-8-5 22' and convert(varchar(13), columnname,120)<='2006-10-25 23')
zhang_yugang 2008-04-04
  • 打赏
  • 举报
回复
split
zhang_yugang 2008-04-04
  • 打赏
  • 举报
回复
main()
zhang_yugang 2008-04-02
  • 打赏
  • 举报
回复
delete from tb where columnname between '2004/8/5' and '2006/10/25'
fengb4676 2008-04-02
  • 打赏
  • 举报
回复
delete from tb where convert(varchar(10), columnname, 120)>='2004-8-5' and convert(varchar(10), columnname,120)<='2006-10-25')
iamltd 2008-04-02
  • 打赏
  • 举报
回复
直接用between不太稳当,建议用datediff


delete from tb where datediff(d,columnname,'2004-8-5') <= 0 and datediff(d,columnname,'2006-10-25') >= 0
fuda_1985 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhang_yugang 的回复:]
SQL codedelete from tb where columnname between '2004/8/5' and '2006/10/25'
[/Quote]
hui_hui_2007 2008-04-02
  • 打赏
  • 举报
回复
当然,二楼的代码只适用于存放日期的字段是日期型。
如果是字符型,应要找规律了。
hui_hui_2007 2008-04-02
  • 打赏
  • 举报
回复
delete from tb where 日期字段>= '2004-8-5' and 日期字段 <'2006-10-26'
注意,红色的地方。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧