如何正确组合静态时间和分钟

时间:2017-08-22 21:17:32

标签: sql sql-server sql-server-2008

我们在表格中,在SQL Server 2008中,日期时间仅包含日期。 还有一小时col和一分钟col,有预约。两个列都定义为数字。

小时通常是这样的:

12.00

和分钟就像40.00。我尝试添加它们,但它总共而不是 12:40这就是我们需要的。我怎么能得到这个显示12:40。随着:会更好。

2 个答案:

答案 0 :(得分:1)

嗯......在这里拍摄,对于SQL Server

declare @table table (d datetime,h decimal(4,2), m decimal(4,2))
insert into @table
values
('20170113',12.00,40.00),
('20170113',9.00,8.00)

select
    d + cast(left(h,len(floor(h))) + ':' + cast(left(m,len(floor(m))) as varchar(2))  + ':' + '00' as datetime)
from
    @table

答案 1 :(得分:0)

  1. 00.前置几分钟 - 请注意那里的点。
  2. 将两者都转换为时间。
  3. 添加它们。
  4. 将结果转换回字符串。
  5. 这样你也可以处理12.40 + 00.30.00 = 13.10

    等情况