Sql server 用户定义函数sql,关键字';返回';

Sql server 用户定义函数sql,关键字';返回';,sql-server,tsql,stored-functions,Sql Server,Tsql,Stored Functions,我正在尝试编写一个函数,它接受一个日期的输入,计算当前日期和输入日期之间的差值,然后将其作为天数的整数返回。(因此,如果我昨天输入2015-5-8,它将返回1)。到目前为止,我得到了这个错误,并不能真正找出什么是错的。感谢您的帮助 CREATE FUNCTION DnevnaRazlika (@OdKdaj nvarchar(15)) RETURNS INT AS BEGIN declare @return INT select @return = DATEDIFF(day,@OdKdaj,

我正在尝试编写一个函数,它接受一个日期的输入,计算当前日期和输入日期之间的差值,然后将其作为天数的整数返回。(因此,如果我昨天输入2015-5-8,它将返回1)。到目前为止,我得到了这个错误,并不能真正找出什么是错的。感谢您的帮助

CREATE FUNCTION DnevnaRazlika
(@OdKdaj nvarchar(15))
RETURNS INT 
AS
BEGIN 
declare @return INT
select @return = DATEDIFF(day,@OdKdaj, CONVERT(date,GETDATE()))
end
return @return 
end

编辑:使用Microsoft SQL management studio太多
end
s。试试下面的代码

CREATE FUNCTION DnevnaRazlika ( @OdKdaj NVARCHAR(15) )
RETURNS INT
AS 
    BEGIN 
        DECLARE @return INT
        SELECT  @return = DATEDIFF(day, @OdKdaj, CONVERT(DATE, GETDATE()))
        RETURN @return 
    END

这里的问题是你们两次都结束了

CREATE FUNCTION DnevnaRazlika
(@OdKdaj nvarchar(15))
RETURNS INT 
AS
BEGIN 
declare @return INT
select @return = DATEDIFF(day,@OdKdaj, CONVERT(date,GETDATE()))
--end remove this end than it will work 
return @return 
end

@MihaŠušteršič我很高兴能帮助你。答案还应该包括一个小的解释,即使是非常简单的解释。
create Function a123(@a Int,@b Int) returns Int as 
begin 
    return (@a + @b)
end

select dbo.a123(30,20)