SQL Server中的时间分钟

Luc*_*oli 2 sql sql-server time

我创建了一个将minutes(smallint)转换为time(varchar(5))的函数,如58 - > 00:58.

set QUOTED_IDENTIFIER ON

GO
Create FUNCTION [dbo].[IntToMinutes]
(
    @m smallint
)
RETURNS nvarchar(5)
AS
BEGIN
    DECLARE @c nvarchar(5)
     SET @c = CAST((@m / 60) as varchar(2)) + ':' + CAST((@m % 60) as varchar(2))
     RETURN @c
END
Run Code Online (Sandbox Code Playgroud)

问题是时间少于10分钟,如9,此功能的结果为0:9.我希望格式为00:09.

我怎样才能做到这一点?

小智 7

Create FUNCTION [dbo].[IntToMinutes]
(
    @m smallint 
)  
RETURNS nvarchar(5)
AS  
BEGIN
    DECLARE @c datetime
    select @c = dateadd(mi,@m,'00:00')       
    RETURN convert(nvarchar(5), @c, 108)   
END
Run Code Online (Sandbox Code Playgroud)