使用Access数据库,使用SQL命令从中提取数据。我有一个专栏'持续时间'在smalldatetime中格式化,其中包含与电话呼叫持续时间有关的数据。这个数据是这样的列
0/01/1900 12:00:26 AM
这表示持续时间为26秒的呼叫。 (全部从凌晨12:00:00开始向上工作)
我有一个名为' Extension'它标识了手机的用户。
我想运行一个查询,它会显示总持续时间,但按扩展名分组。
到目前为止我的查询是
SELECT (CONVERT(VARCHAR(8),(DATEADD(ms, SUM(DATEDIFF(ms, '00:00:00.000', (CONVERT(VARCHAR(8),Duration,108)))), '00:00:00.000')),108)) as "timetest",
Extension AS Extension
FROM BrendanTest GROUP BY Extension
这表明:
Timetest Extension
00:12:00 117
00:06:00 118
这是正确的。
但是,我想格式化结果,以十进制分钟显示,例如
00:04:56
会变成
4.93
有没有办法可以做到这一点?非常感谢您的帮助!
答案 0 :(得分:2)
假设'00:04:56'的格式为HH:MM:SS,您可以尝试使用以下内容将其转换为十进制格式:
SELECT PARSENAME(REPLACE('00:04:56',':','.'),3) * 60 --Convert the hours to minutes
+ PARSENAME(REPLACE('00:04:56',':','.'),2) --Add converted hours to minutes
+ CONVERT(FLOAT, LEFT((CONVERT(INT,(PARSENAME(REPLACE('00:04:56',':','.'),1)))/0.6),2))/100 -- convert to decimal format