sql如何判断条件进行不同更新?

要什么呢称 2008-03-17 12:48:46
一个表中 有 个时间 字段

给这个时间字段增加天数 并根据 时间字段内的时间 如果比现在大则加上天数
如果比现在的时间小则更新为当前时间+天数
...全文
66 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
JL99000 2008-03-17
use tempdb
if object_id('dbo.#t') is not null
drop table dbo.#t
go
create table #t(id int identity,date_dt datetime)
insert into #t
select '2007-1-1' union all
select '2009-1-1'
select * from #t

update #t
set date_dt=case when date_dt>getdate() then dateadd(dd,abs(datediff(dd,getdate(),date_dt)),date_dt)
when date_dt<getdate() then dateadd(dd,3,getdate())
else date_dt
end
where date_dt='2007-1-1'

select * from #t
回复
jxwangjm 2008-03-17
Mark一下
回复
要什么呢称 2008-03-17
非常感谢 原来还有 case 明天加分
回复
bootupnow 2008-03-17

create table #tb(
i int identity(1,1),
dtime datetime
)


insert into #tb
select '2007-01-01' union all
select '2009-01-01'


-- 加3天
update #tb
set dtime = case when dtime > getdate() then dateadd(day,3,dtime)
when dtime < getdate() then dateadd(day,3,getdate())
else dtime
end
where <条件>

select * from #tb

drop table #tb
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

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