将HH:MM:SS除以整数

时间:2013-02-15 22:34:44

标签: sql

我有一个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'

1 个答案:

答案 0 :(得分: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数据类型,但是允许使用隐式转换,这样可以让您像这样来回转换。

相关问题