次の関数を作成しました
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
コードは正しく動作します。(1) から (2) までの部分のみを実行して @DATE の値を読み取るいくつかの PRINT コマンドを使用すると、すべて問題ありませんが、格納された関数を使用すると、日付の代わりに NULL が返されます。 .
手を貸していただけますか?