我使用存储过程,并在那里有一个列名称超时,我想只显示像HH:MM格式,该过程工作正常,但唯一的问题是,目前的时间花费的时间是hh:mm:ss格式。指导我如何将时间花在HH:MM格式上,并尽可能纠正我的程序。 的程序是这样的: -HH:在SQL Server中的MM格式
CREATE procedure St_Proc_GetUserReportforCurrentDayTask
@userID int
as
Begin
set NoCount on;
DECLARE @TODAY DATE
SET @TODAY = CONVERT(VARCHAR(10), GETDATE(), 111)
select CONVERT(VARCHAR,production.CalendarDate,101) + RIGHT (CONVERT(VARCHAR,production.CalendarDate , 100) ,7) as Date,
RegionAndProjectInfo.RegionProjectName as Region ,
County.CountyName as County,
WorkType.WorkTypeName as WorkType,
Task.TaskName as Task,
Production.VolumeProcessed as 'Volumes Processed',
Production.TimeSpent as 'Duration (HH:MM)'
from Production
inner join RegionAndProjectInfo
on
RegionAndProjectInfo.RegionProjectID=Production.RegionProjectID
inner join County
on
County.CountyID=Production.CountyID
inner join WorkType
on
WorkType.WorkTypeID=Production.WorkTypeID
inner join Task
on
Task.TaskID=Production.TaskID
where [email protected] and CalendarDate >= @TODAY
End
[请不要使用'不长varchar'(http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad -habits到开球声明,VARCHAR,而无需-length.aspx)。并且不会'CONVERT(CHAR(5),GETDATE(),108)'更简单吗? –