高手帮忙
做一个竞价系统,要根据信息的输入信息和有效期来求剩余时间,怎么写
开始时间 buildon,数据类型datetime,比如现有数据2004-3-1 13:00:00
有效期为天数,如位3天
那求出当前剩余时间,应该是个变量,这个变量应该等于2004-3-4 13:00:00减去当前时间,比如2004-3-2 09:00:00,希望得到返回结果是:3天4个小时,这个是应该写成函数还是怎么,怎么实现,求助.
declare @begintime datetime
declare @a int
set @a=31
set @begintime='2004-3-2 13:00:00'
select convert(varchar,datediff(year,getdate(),dateadd(day,@a,@begintime)))+'年'+
convert(varchar,datediff(month,getdate(),dateadd(day,@a,@begintime)))+'月'+
convert(varchar,datediff(day,getdate(),dateadd(day,@a,@begintime)))+'日'+
convert(varchar,datediff(hour,getdate(),dateadd(day,@a,@begintime)))+'小时'+
convert(varchar,datediff(minute,getdate(),dateadd(day,@a,@begintime)))+'分'
返回结果:0年1月31日742小时44489分
这个结果是正确的,但是我想最好是月就不要了,得到结果
剩余时间为31天22小时29分,后面742小时怎么换算22小时(742/24取余数),(44489/60取余数,)怎么换算29分,这里SQL怎么写?