同じ色の平均製品標準価格の関数を作成し、 'red
'を使ってテストすることを望みます。しかし、NULLが返されました。 SELECT
、FROM
、WHERE
、GROUP BY
のみを実行すると、ファイルを処理して値を返します。ここでSQL Create Function
は私のコードです:
CREATE FUNCTION avgv (@Color CHAR)
RETURNS CHAR
AS
BEGIN
DECLARE @AVG CHAR ;
SET @AVG = (SELECT P.Color AVG(P.StandardCost)
FROM AdventureWorksLT.SalesLT.Product P
WHERE P.Color = @Color
GROUP BY Color)
Return @AVG
END
GO
SELECT dbo.avgv('red')
私は、感謝を修正する方法を教えてください!
あなたは、入力パラメータと返された結果の両方の長さを指定するのを忘れていました。また、 'VARchar'を使うべきです。 'CHAR'と同じ' VARCHAR'と明示的に定義された長さは長さ= 1(1つの記号)を意味します。 –
すでに述べたように、AVGを計算しているので、あなたの結果は文字のように見えません。 –