0

次の関数を作成しました

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 が返されます。 .

手を貸していただけますか?

4

0 に答える 0