0
我有這樣的功能:如何顯示在SQL Server標準時序格式結果
ALTER FUNCTION [dbo].[podiumsummerytime] (@dec NUMERIC(18, 2)) RETURNS Varchar(50)
AS
BEGIN
DECLARE
@hour decimal(18,2),
@Mns decimal(18,2)
DECLARE @Average Varchar(50)
select @hour=CONVERT(int,@dec/60/60)
SELECT @Mns = convert(int, (@dec/60) - (@hour * 60));
SELECT @Average = (case when @hour = 0 then ''
when @hour < 10 then '0' + cast(@hour as varchar(255)) + 'hr:'
else cast(@hour as varchar(255)) + 'hr:'
end) +
(case when @mns < 10 then '0' + cast(@mns as varchar(255)) + 'Mn:'
else cast(@mns as varchar(255))+ 'Mn'
end)
RETURN @Average
END
,我有這樣的查詢:
select dbo.podiumsummerytime(
convert(decimal(10,1),
avg(convert(numeric(18,2), datediff(ss, t.dtime, t.PAICdate ))))
) as Avgparkingtime,
我的結果讓這樣的:
Avgparkingtime
02.00hr:20.00min
如果我們現在有1小時顯示1,而不是我必須顯示01.如果有5分鐘顯示5,而不是我必須顯示05 所以我進出料口把這樣的:
Avgparkingtime
01hr:20Mn
任何幫助是非常可觀的
它顯示一些錯誤.. – user3106114
編輯我的功能後,像這樣:我嘗試運行我的存儲過程..但得到空值 – user3106114
@ user3106114。 。 。可能是因爲你從未將「@ second」設置爲任何值,即使它被註釋掉了,我也會將其包含在內。 –