1

我有一列 ,Col1格式为HH:MM:SS,还有一个整数列Col2。我正在尝试以Col1 / Col2格式计算HH:MM:SS。我怎样才能做到这一点?

我尝试使用转换函数,但是下面的查询忽略了转换的值。这是我使用的转换语句:

CONVERT(VARCHAR,Col1 / 1920) + ':' + RIGHT('00' + CONVERT(VARCHAR, Col1% 60), 2) AS Time,

我正在使用以下查询来尝试进行除法

select (DateTime),(Col1),(Col2),
cast((Col2 - Col1 ) as int) 
    / case when [CallsHandledHalf] = 0 then null 
           else [Col2] end as [AVG]
from Table
where ValueID ='5122'
and DateTime between '11/01/12 05:00' and '11/30/12 16:30'
4

1 回答 1

1

假设您使用的是 sql server(2008 或更高版本),也许以下内容会为您解决问题:

-- starting with a string in HH:MM:SS format
declare @s varchar(8)
set @s = '12:00:00'

-- set a divisor
declare @d int
set @d = 2

-- divide the total seconds by the divisor
set @s = convert(time(0), dateadd(second, datediff(second, 0, @s) / @d, 0))

-- output the results   '06:00:00'
print @s

请注意,您确实应该一time开始就将时间值保留在数据类型中,但是允许隐式转换让您像这样来回切换。

于 2013-02-15T22:59:38.500 回答