高手帮忙

iamclb 2004-03-02 03:43:46
做一个竞价系统,要根据信息的输入信息和有效期来求剩余时间,怎么写
开始时间 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怎么写?
...全文
37 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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