2011-11-02 83 views
0

我必須添加列的分鐘數,然後將它們轉換爲小時。我發現將分鐘轉換爲小時的查詢:如何在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

回答

0

我不是知道爲什麼你可能需要創建一個SP,但此查詢應該按照你的問題標題作品「我怎麼添加」

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

凡22:00:00可能是你的開始時間欄..和7200完成某件事所需的秒數。

0

這是不是很清楚你打算在這裏做什麼。問題是「我怎樣才能完成兩個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?