我创建了以下功能
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 而不是日期.
你能帮我一把吗?