我有一个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'
答案 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
数据类型,但是允许使用隐式转换,这样可以让您像这样来回转换。