我有这种 varchar 格式作为时间累积,我想将其转换为整数以进行求和并获取一组的总时间。第一部分可以是 1、2、3、4 甚至 5 位数字,代表小时的累积,然后用冒号分隔。然后是第二部分,即分钟的累积和秒的最后累积(各 2 位数字)。如果可能的话,如何在一个查询中将其转换为整数。
最佳答案
您可以使用此查询来检索跨度的长度(以秒为单位):
select sum(
60*60*cast(left(span, len(span)-6) as int)
+ 60*cast(substring(span, len(span)-4, 2) as int)
+ cast(right(span, 2) as int))
from test
这个想法是把左边、右边和中间的部分切掉,乘以一小时的秒数和一分钟的秒数,然后将三个部分相加。
这里是 sqlfiddle 的链接.
关于sql - 在 SQL Server 中,要转换具有此格式的 varchar (nnn :nn:nn),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12681481/