MySQL使用值创建函数语句并返回数据类型decimal

时间:2016-01-08 12:45:56

标签: mysql decimal create-function

这是我在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))

由于

1 个答案:

答案 0 :(得分: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 ;