求一条关于日期的SQL语句!!

cswdcswd 2008-12-25 05:15:16
STime,Ftime分别存储开始日期和结束日期。
我现在有2条记录。
记录一:STime(2008-1-1),Ftime(2008-7-31)
记录二:STime(2008-8-1),Ftime(2008-11-30)

我现在要修改记录二,条件限制是,记录二的开始日期要大于记录一的结束日期,记录二结束日期改到12月31号!

请写出存储过程!谢谢!
...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
等不到来世 2008-12-25
  • 打赏
  • 举报
回复
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([STime] datetime,[Ftime] datetime)
insert [tb]
select '2008-1-1','2008-7-31' union all
select '2008-8-1','2008-11-30'

update tb
set Ftime=dateadd(d,-1,dateadd(yy,datediff(yy,0,Ftime)+1,0))
where month(STime)>7

select * from [tb]
--测试结果:
/*
STime Ftime
----------------------- -----------------------
2008-01-01 00:00:00.000 2008-07-31 00:00:00.000
2008-08-01 00:00:00.000 2008-12-31 00:00:00.000

(2 行受影响)
*/
cswdcswd 2008-12-25
  • 打赏
  • 举报
回复
晕!!!效果就是:

记录一:STime(2008-1-1),Ftime(2008-7-31)
记录二:STime(日期必须>2008-7-31),Ftime(改成2008-12-31)
super_iven 2008-12-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
这个原理貌似看不懂,难道你表中就这两条记录?
[/Quote]
UP
dawugui 2008-12-25
  • 打赏
  • 举报
回复
这个原理貌似看不懂,难道你表中就这两条记录?

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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