smalldatetime与十进制分钟SQL格式之和
使用Access数据库,使用SQL命令从中提取数据。我有一个用smalldatetime格式化的“Duration”列,其中包含与电话通话持续时间相关的数据。数据是这样的smalldatetime与十进制分钟SQL格式之和,sql,sql-server,sql-server-2008,ms-access,Sql,Sql Server,Sql Server 2008,Ms Access,使用Access数据库,使用SQL命令从中提取数据。我有一个用smalldatetime格式化的“Duration”列,其中包含与电话通话持续时间相关的数据。数据是这样的 0/01/1900 12:00:26 AM 这表示通话持续时间为26秒。(全部在上午12:00:00开始,向上工作) 我有一个名为“分机”的栏目,用来识别手机的用户 我想运行一个查询,显示总持续时间,但按扩展分组 到目前为止,我的疑问是 SELECT (CONVERT(VARCHAR(8),(DATEADD(ms, SUM
0/01/1900 12:00:26 AM
这表示通话持续时间为26秒。(全部在上午12:00:00开始,向上工作)
我有一个名为“分机”的栏目,用来识别手机的用户
我想运行一个查询,显示总持续时间,但按扩展分组
到目前为止,我的疑问是
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
我有办法做到这一点吗?非常感谢你的帮助 假设“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
假设“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
当您执行select distinct extension from BRANDANTEST时,您得到了什么?代码现在正在@Sagi工作。只需要知道如何将其转换为十进制分钟数。当您执行select distinct extension from BRANDANTEST时,您会得到什么?代码立即在@Sagi中运行。只需要知道如何将其转换为十进制分钟。