の値を返す続ける私はいつも何が起こっている1SQL Severのストアドプロシージャは、1
を返しかかわらず、それに渡された値の一定値、 を返す必要があります知っているが、これは、以下の次のコードを持っていますか?
CREATE PROC spConvert
@date date,
@convertFrom varchar(20),
@convertTo varchar(20),
@value money output
AS
SELECT @value = value
FROM Conversion
JOIN Currency AS c1 ON ToID = c1.currencyID
JOIN Currency AS c2 ON FROMID = c2.currencyID
WHERE c1.name = @convertTo
AND c2.name = @convertFrom
AND @date BETWEEN StartDate AND EndDate
IF @value IS NULL
(SELECT @value = Value
FROM Conversion
JOIN Currency AS c1 ON ToID = c1.currencyID
JOIN Currency AS c2 ON FromID = c2.currencyID
WHERE c1.name = @convertTo
AND c2.name = @convertFrom
AND Enddate IS NULL)
PRINT @value
RETURN @value
は、その後、私は
declare @print money
exec @print= spConvert @date ='2017-05-25',
@convertFrom='euro', @convertTo='dollar',
@value = @print output
print @print
を実行し、私はそれを得ることはありません
1.44 ----(which is correct)
1.0 ----(not correct)
を取得しますか?
タグあなたの質問を使用しているデータベースで。 –