高分求解(SQL下无法算出小数来啊),在线等!!!
我的开发环境是VS2003(VC#)/MS SQL7.0,我写了个过程:
declare @datemaige decimal
declare @worktime decimal
declare @hhcc int
--计算时间差
select @datemaige=ROUND(datediff(minute,@date1,@date2)/60,2)
--select @datemaige
--计算航次
select @hhcc=(select max(hhcc) from jdzy where rtrim(wlcm)=rtrim(@wlcm))+1
--时间位差补加(>0.5的等于1,<0.5的等于0.5)
if len(@datemaige)=8
begin
if right(@datemaige/60,7)>0.5
begin
select @worktime=left(ROUND(@datemaige/60,1),1)+(1-left(@datemaige/60,7))
end
if right(@datemaige/60,7)<0.5
begin
select @worktime=left(ROUND(@datemaige/60,1),1)+(0.5-left(@datemaige/60,7))
end
end
else select @worktime=@datemaige
if len(@datemaige)=9
begin
if right(@datemaige/60,7)>0.5
begin
select @worktime=left(ROUND(@datemaige/60,1),2)+(1-left(@datemaige/60,7))
end
if right(@datemaige/60,7)<0.5
begin
select @worktime=left(ROUND(@datemaige/60,1),2)+(0.5-left(@datemaige/60,7))
end
end
else select @worktime=@datemaige
@date1,@date2是两个时间
select @datemaige=ROUND(datediff(minute,@date1,@date2)/60,2)算不出小数来,
后来单算:select 1655/12 还是算不出小数来,得出了个137,只有整数,我不知道应该系统的事还是SQL语句的事?