存储函数返回NULL而不是DATETIME

时间:2012-12-20 12:53:16

标签: sql-server sql-server-2008

我创建了以下功能

CREATE  FUNCTION sf_GetTrainingDate (@ID_ITEM int,@EMPLOYEE VARCHAR)
RETURNS DATETIME AS

BEGIN
 --(1)
 DECLARE @RESULT DATETIME
 DECLARE @DATE DATETIME
 DECLARE @REPEAT_INTERVAL INT 
 SET @DATE = (/*subquery returning a date in datetime format*/)
 SET @REPEAT_INTERVAL = (/*subquery returning a datetime */)
  WHILE @DATE <= getdate()
  BEGIN
  SET @DATE=dateadd(month,@REPEAT_INTERVAL,@DATE)
  IF @DATE > GETDATE()
  BREAK
  ELSE
  CONTINUE
  END
 SET @RESULT = @DATE     
 RETURN @RESULT
 --(2)
END

代码工作正常,我的意思是如果我只使用一些PRINT命令从(1)到(2)运行部分来读取@DATE的值一切都很好,但是因为我使用存储的函数它返回NULL而不是约会。

你能帮我一把吗?

0 个答案:

没有答案