SQL将整数列转换为时间并添加它们

时间:2015-09-14 13:51:12

标签: sql sql-server

我是新手,所以请帮忙......

我在表格中有两列:

小时,分钟(它们都是整数类型) 所以他们有普通的整数值,如:

Hours   Minutes 
---------------
 1        30
 0        20
 2         0

我需要将这两列合并到第三列并添加它们:

喜欢1:30(1小时30分钟)

我该怎么做?

3 个答案:

答案 0 :(得分:1)

试试这个

 SELECT CAST(Hours AS Varchar)+':'+CAST(Minutes AS Varchar) From Table_Name

答案 1 :(得分:1)

请勿使用TIME数据类型执行此操作。时间数据类型不是为了保存持续时间的值而设计的。它旨在保存特定时间点的值。

考虑超过24小时后会发生什么。如果你想要添加这些,只需使用简单的添加。

if OBJECT_ID('tempdb..#Something') is not null
    drop table #Something

create table #Something
(
    MyHours int,
    MyMinutes int
)

insert #Something
select 1, 30 union all
select 0, 20 union all
select 2, 0 union all
select 3, 45


select SUM(MyHours) + SUM(MyMinutes) / 60 as TotalHours
    , SUM(MyMinutes) % 60 as TotalMinutes
from #Something

答案 2 :(得分:1)

How about this:

SELECT SUM(Hours + (Minutes / 60)) FROM Table