创建一个函数来计算订单成本SQL Server

时间:2018-06-27 04:47:24

标签: sql sql-server

我正在尝试创建一个函数,该函数将基于此公式计算OrderCost

((1.0 – Discount) * (UnitPrice * Quantity))

不确定我在哪里出错。.尝试运行查询时收到此错误消息

  

第102行,状态15,状态1,过程OrderCost,第7行[批处理开始第0行]
  '–'附近的语法不正确。

enter image description here

CREATE FUNCTION [dbo].[OrderCost] (@i INT)
RETURNS int
AS
BEGIN
    DECLARE @OrderCost INT

    SELECT @OrderCost = SUM((1.0 – Discount) * (UnitPrice * Quantity))
    FROM OrderDetails

    RETURN @OrderCost
END

2 个答案:

答案 0 :(得分:2)

将减号'–'更改为'-'

 CREATE FUNCTION [dbo].[OrderCost](@i int)
    RETURNS int
    AS
    BEGIN
        DECLARE @OrderCost int

        SELECT @OrderCost = SUM((1.0 - Discount) * (UnitPrice * Quantity))
        FROM OrderDetails

        RETURN @OrderCost
    END

答案 1 :(得分:0)

如果您在那里有20个订单怎么办?您需要知道选哪个!

CREATE FUNCTION [dbo].[OrderCost](@i int, @OrderId Int, @ProductId Int)
RETURNS int
AS
BEGIN
    DECLARE @OrderCost int

    SELECT @OrderCost = SUM((1.0 - Discount) * (UnitPrice * Quantity))
    FROM OrderDetails
    Where OrderId = @OrderId and ProductId = @ProductId

    RETURN @OrderCost
END