I'm trying to write a function that takes an input of a date, and calculates the difference between current day and the inputed date, then returns it as an integer of days. (So if I input yesterday 2015-5-8 it returns 1). So far I'm getting this error and can't really figure out what's wrong. Any help is appreciated.
我正在尝试编写一个输入日期的函数,并计算当前日期和输入日期之间的差异,然后将其作为整数天返回。 (所以如果我昨天输入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
Edit: Using Microsoft SQL management studio
编辑:使用Microsoft SQL管理工作室
3 个解决方案
#1
2
Too much end
s. try below code
结束太多了。尝试以下代码
CREATE FUNCTION DnevnaRazlika ( @OdKdaj NVARCHAR(15) )
RETURNS INT
AS
BEGIN
DECLARE @return INT
SELECT @return = DATEDIFF(day, @OdKdaj, CONVERT(DATE, GETDATE()))
RETURN @return
END
#2
1
problem here is you are having end two time
这里的问题是你有两次结束
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
#3
0
create Function a123(@a Int,@b Int) returns Int as
begin
return (@a + @b)
end
select dbo.a123(30,20)
#1
2
Too much end
s. try below code
结束太多了。尝试以下代码
CREATE FUNCTION DnevnaRazlika ( @OdKdaj NVARCHAR(15) )
RETURNS INT
AS
BEGIN
DECLARE @return INT
SELECT @return = DATEDIFF(day, @OdKdaj, CONVERT(DATE, GETDATE()))
RETURN @return
END
#2
1
problem here is you are having end two time
这里的问题是你有两次结束
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
#3
0
create Function a123(@a Int,@b Int) returns Int as
begin
return (@a + @b)
end
select dbo.a123(30,20)