首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

判断语句怎摸写?该怎么解决

2012-02-29 
判断语句怎摸写?select(casea.delaytimewhendatediff(dd,endtime,completetime) 0thenabs(datediff(dd,en

判断语句怎摸写?
select   (case   a.delaytime   when   datediff(dd,endtime,completetime)> 0   then   abs(datediff(dd,endtime,completetime)  
end   )     DelayTime
from   projectinfo   a

实现功能:如果实际交货日期大于计划交货日期,则相减,得到延期天数
在查询分析器里用出错,不知是哪里问题?

[解决办法]
select id, sum(case when datediff(dd,endtime,completetime)> 0 then abs(datediff(dd,endtime,completetime)
end ) DelayTime
from projectinfo a
group by id
[解决办法]
select (case when datediff(dd,endtime,completetime)> 0 then abs(datediff(dd,endtime,completetime) else a.delaytime
end ) DelayTime
from projectinfo a
[解决办法]
-try

select case when datediff(dd,endtime,completetime)> 0 then abs(datediff(dd,endtime,completetime)
end ) DelayTime
from projectinfo a


[解决办法]
--ok
select case when datediff(dd,endtime,completetime)> 0 then abs(datediff(dd,endtime,completetime)) end DelayTime from projectinfo a
[解决办法]
select DelayTime = case datediff(dd,endtime,completetime) when > 0 then abs(datediff(dd,endtime,completetime)
end ) DelayTime
from projectinfo a

[解决办法]
select case when datediff(dd,endtime,completetime)> 0 then abs(datediff(dd,endtime,completetime)) end DelayTime from projectinfo a

热点排行