如何在SQL Server中完成两个hh:mm字段的总和?

问题描述:

我必须添加列的分钟数,然后将它们转换为小时。我发现将分钟转换为小时的查询:如何在SQL Server中完成两个hh:mm字段的总和?

declare @mins int 

set @mins = 750.00 

select cast(@mins/60 as varchar(5)) + ':' + RIGHT('0' + cast(@mins%60 as varchar(2)), 2) as [TotalTime] 
enter code here 

但我无法添加分钟数。我想我需要创建存储过程,但是,我无法这样做。请帮忙。

我曾尝试以下SP

USE [MailEmployeeDb] 
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
create PROCEDURE [dbo].[AddHrs] 
(
@Project nvarchar(50), 
@mins int, 
@assigned_by nvarchar(50), 
@Emolyee_id nvarchar(50), 
@Date datetime, 
@Status varchar(50), 
@Hours varchar(50), 
@Name_Emp varchar(50) 
)  
AS  
BEGIN 
@mins = select sum(hours) from Task_SheetTbl where [email protected],[email protected]_Emp,[email protected],[email protected],[email protected]_by 
select cast(@mins/60 as varchar(5)) + ':' + RIGHT('0' + cast(@mins%60 as varchar(2)), 2) 
END 

但不是全成.... PLZ HLP如果任何人都可以corect该SP

创建表脚本

CREATE TABLE [dbo].[Task_SheetTbl](
    [Emolyee_id] [nvarchar](50) NOT NULL, 
    [Project] [nvarchar](50) NOT NULL, 
    [Date] [datetime] NOT NULL, 
    [Assigned_By] [nvarchar](50) NOT NULL, 
    [Status] [varchar](50) NOT NULL, 
    [Comments] [nvarchar](100) NULL, 
    [Task] [nvarchar](100) NULL, 
    [Hours] [varchar](50) NULL 
) 

此设定值

monika erp 01.11.2011 5:31:01 AM mmm Completed hhhhhhhhh mmm 750.00 
mona erp 01.11.2011 12:00:00 AM me ccc cccc cccc 700.0 
son ehandel 01.11.2011 12:00:00 AM mon rrr rrrr rrr 30.00 
monika erp 02.11.2011 10:56:44 AM jjjjj Completed nop nnnnn 0.50 
NULL NULL NULL NULL NULL NULL NULL NULL 

结果==我需要添加所有的小时数值出现在各自的搜索上,就像我需要知道雇员承担多少小时erp项目。多少小时员工在特定项目上工作..

+0

你能更具体吗?显示你的表定义(CREATE TABLE语句),一些数据(INSERT语句),所需的结果。 – Devart

+0

这是我创建的表格脚本 – mona

+0

它在哪里?只需在你的问题中添加所有这些。 – Devart

我不是知道为什么你可能需要创建一个SP,但此查询应该按照你的问题标题作品“我怎么添加”

SELECT SEC_TO_TIME(TIME_TO_SEC('22:00:00')+7200) AS totaltime 

凡22:00:00可能是你的开始时间栏..和7200完成某件事所需的秒数。

这是不是很清楚你打算在这里做什么。问题是“我怎样才能完成两个HH:MM字段的总和”,但是从您的代码示例看来,您似乎不需要添加两个HH:MM字段,而是以HH:MM格式显示总分钟数。

不管怎么说,假设是后者,这是你可以做什么:

SELECT SEC_TO_TIME(SUM(hours) * 60) 
FROM Task_SheetTbl 
WHERE Project = 'abc' 
AND Name_Emp = 'def' 
AND ... 
... 
; 

其中,SUM(小时)会给你在你的代码@mins。

此外,您提供的SP代码在MySQL中似乎不是有效的语法。你确定你能够创建该SP?