• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

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

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

我是新手.还没分给. :(
...全文
593 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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'
注意,红色的地方。
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-04-02 10:23
社区公告
暂无公告