SEC_TO_TIME SQL Server

时间:2014-05-20 05:00:32

标签: sql sql-server

此函数在SQL Server中第二次转换:

Create function [dbo].[SEC_TO_TIME](@seconds1 INT)
returns VARCHAR(8)
As
Begin 
    DECLARE @time1 VARCHAR(8);
    SET @time1  SELECT CONVERT(VARCHAR(8), DATEADD(second, @seconds1, 0), 108);
    return @time1;
end 
GO

但是我收到了一个错误:

  

Msg 156,Level 15,State 1,Procedure SEC_TO_TIME,Line 7
  关键字'SELECT'附近的语法不正确。

我尝试执行此查询,效果很好。

SELECT CONVERT(VARCHAR(8), DATEADD(second, 180, 0), 108);

你能帮我修一下这个错误吗?

2 个答案:

答案 0 :(得分:0)

datetime作为varchar返回

是个不错的主意。

Create function [dbo].[SEC_TO_TIME](@seconds1 INT)
returns datetime
As
Begin 
    RETURN DATEADD(second, @seconds1, 0)
end 

答案 1 :(得分:0)

Create function [dbo].[SEC_TO_TIME](@seconds1 INT)
returns VARCHAR(8)
As
Begin 
    DECLARE @time1 VARCHAR(8)
    SET @time1=CONVERT(VARCHAR(8), DATEADD(second, @seconds1, 0), 108)
    return @time1
end 
GO

check this link