Хочет создать функцию стандартной стандартной цены продукта для одного цвета и использовать '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' с явно определенной длиной length означает length = 1 (один символ). –
И как уже упоминалось - ваш результат не похож на персонажа, так как вы вычисляете 'AVG'. –