テーブルから最大測定値を取得するストアド プロシージャ (SQL Server Management Studio 2008 R2 を使用) を作成しようとしています。これは簡単なことのように思えたので、MAX を取得するための短いストアド プロシージャを作成しました。しかし、プロシージャを実行すると、予想される 0.018 値ではなく 0 が返されました。
MAX 関数の上にマウスを置くと、「組み込み関数 MAX(expression) RETURNS int」と表示されます。したがって、結果をintとしてキャストしているようです。これはかなり面倒です。
ここで誰かがより簡単な解決策を持っていない限り、私は最大値を長い道のりで計算する必要があると思います. 何か案は?
ALTER PROCEDURE [dbo].[GetMaxOscillation] (@SerialNumber varchar (16), @Date datetime)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @MaxOsc DECIMAL(18,6)
SELECT @MaxOsc = MAX(Value)
FROM LoadListingOscillations
WHERE SerialNumber=@SerialNumber AND Date=@Date AND Value IS NOT NULL
RETURN @MaxOsc
SET NOCOUNT OFF
END