0

这是我在 MySQL 中的代码。我应该写一个语句,通过给定的库存和每个项目的价格来计算 itemavalue -> 库存*价格。如果 itemvalue 为负数,则应将其设置为 0。

CREATE function item_value (inventory int UNSIGNED, price decimal(8,2)) RETURNS DECIMAL(8,2)
BEGIN 
 IF inventory*price < 0 THEN 
  SET itemvalue = 0
 ELSE 
  SET itemvalue = inventory*price
END IF;

我知道到目前为止这不起作用,但我从未使用过 MySQL 中的函数。对不起,希望你们能帮助我。

给出了函数的签名:

itemvalue(库存int UNSIGNED,价格小数(8,2))

谢谢

4

1 回答 1

0

我猜你想要:

DELIMITER $$

CREATE function item_value (
    inventory int UNSIGNED,
    price decimal(8,2)
) RETURNS DECIMAL(8,2)
BEGIN
    RETURN GREATEST(inventory*price, 0); 
END $$

DELIMITER ;
于 2016-01-08T12:52:51.223 回答