CREATE FUNCTION [dbo].[fn_RunDuration] (@nRunDuration INT)
RETURNS VARCHAR(128)
AS
BEGIN
DECLARE @vcMsg VARCHAR(128),
@nH INT,
@nM INT,
@nS INT,
@vcH VARCHAR(48),
@vcM VARCHAR(48),
@vcS VARCHAR(48)
SELECT @nH = LEFT(RIGHT('000000' + CAST(@nRunDuration AS VARCHAR), 6), 2),
@nM = LEFT(RIGHT('000000' + CAST(@nRunDuration AS VARCHAR), 4), 2),
@nS = RIGHT('000000' + CAST(@nRunDuration AS VARCHAR), 2),
@vcH = CASE WHEN @nH = 0 THEN ''
WHEN @nH = 1 THEN CAST(@nH AS VARCHAR) + ' hour, '
ELSE CAST(@nH AS VARCHAR) + ' hours, '
END,
@vcM = CASE WHEN @nM = 0 THEN ''
WHEN @nM = 1 THEN CAST(@nM AS VARCHAR) + ' minute, '
ELSE CAST(@nM AS VARCHAR) + ' minutes, '
END,
@vcS = CASE WHEN @nS = 1 THEN CAST(@nS AS VARCHAR) + ' second'
ELSE CAST(@nS AS VARCHAR) + ' seconds'
END,
@vcMsg = @vcH + @vcM + @vcS
RETURN @vcMsg
END