Scalar-valued Functions [dbo].[ufnGetProductListPrice]
Scalar function returning the list price for a given product on a particular order date.
PropertyValue
ANSI Nulls OnTrue
Quoted Identifier OnTrue
NameData TypeMax Length (Bytes)Description
@ProductIDint4Input parameter for the scalar function ufnGetProductListPrice. Enter a valid ProductID from the Production.Product table.
@OrderDatedatetime8Input parameter for the scalar function ufnGetProductListPrice. Enter a valid order date.

CREATE FUNCTION [dbo].[ufnGetProductListPrice](@ProductID [int], @OrderDate [datetime])
RETURNS [money]
AS
BEGIN
   DECLARE @ListPrice money;

   SELECT @ListPrice = plph.[ListPrice]
   FROM [Production].[Product] p
       INNER JOIN [Production].[ProductListPriceHistory] plph
       ON p.[ProductID] = plph.[ProductID]
           AND p.[ProductID] = @ProductID
           AND @OrderDate BETWEEN plph.[StartDate] AND COALESCE(plph.[EndDate], CONVERT(datetime, '99991231', 112)); -- Make sure we get all the prices!

   RETURN @ListPrice;
END;
GO
EXEC sp_addextendedproperty N'MS_Description', N'Scalar function returning the list price for a given product on a particular order date.', 'SCHEMA', N'dbo', 'FUNCTION', N'ufnGetProductListPrice', NULL, NULL
GO
EXEC sp_addextendedproperty N'MS_Description', N'Input parameter for the scalar function ufnGetProductListPrice. Enter a valid order date.', 'SCHEMA', N'dbo', 'FUNCTION', N'ufnGetProductListPrice', 'PARAMETER', N'@OrderDate'
GO
EXEC sp_addextendedproperty N'MS_Description', N'Input parameter for the scalar function ufnGetProductListPrice. Enter a valid ProductID from the Production.Product table.', 'SCHEMA', N'dbo', 'FUNCTION', N'ufnGetProductListPrice', 'PARAMETER', N'@ProductID'
GO